Class: AlMarimo::ScriptsTag

Inherits:
Liquid::Tag
  • Object
show all
Defined in:
lib/al_marimo.rb

Overview

al_marimo_scripts % — emits the runtime, only on pages that opted in.

Instance Method Summary collapse

Instance Method Details

#render(context) ⇒ Object



105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
# File 'lib/al_marimo.rb', line 105

def render(context)
  site = context.registers[:site]
  page = context.registers[:page]
  return "" unless site && AlMarimo.page_enabled?(page)

  baseurl = site.config["baseurl"] || ""
  # Vendored rather than pulled from a CDN. jsDelivr serves a dynamically
  # minified build at the package root and documents that it must not be
  # used with SRI; loading it unpinned would hand every al-folio site's
  # execution context to whatever that URL returns tomorrow.
  <<~HTML
    <script defer src="#{baseurl}/assets/al_marimo/js/marimo-init.js"></script>
    <script defer src="#{baseurl}/assets/al_marimo/js/marimo-snippets.js"></script>
  HTML
end