class Jekyll::Vite::JavascriptTag

Public: Renders a <script> tag for the specified file.

Public Instance Methods

render(context) click to toggle source
Calls superclass method Jekyll::Vite::Tag#render
# File lib/jekyll/vite/tags.rb, line 132
def render(context)
  super {
    media = @params.delete(:media) || 'screen'
    crossorigin = @params.delete(:crossorigin) || 'anonymous'
    type = @params.delete(:type) || 'module'
    asset_type = @tag_name == 'vite_typescript_tag' ? :typescript : :javascript

    entries = vite_manifest.resolve_entries(@file, type: asset_type)

    [
      script_tags(entries.fetch(:scripts), crossorigin: crossorigin, type: type, **@params),
      link_tags(entries.fetch(:imports), rel: 'modulepreload', as: 'script', crossorigin: crossorigin, **@params),
      link_tags(entries.fetch(:stylesheets), rel: 'stylesheet', media: media, crossorigin: crossorigin, **@params),
    ].join("\n")
  }
end
syntax_example() click to toggle source
# File lib/jekyll/vite/tags.rb, line 149
def syntax_example
  "{% #{ @tag_name } application %}"
end