hugo-resource-builders/layouts/partials/resource_builders/script.html

41 lines
1.2 KiB
HTML
Raw Permalink Normal View History

2024-11-13 17:03:38 -08:00
{{/*
Emit an HTML script element referring to a JavaScript resource. The resource can
be either a path or a Hugo Resource object. If the former, the resource will be
looked up and built.
@context {string|Resource} resource
The Resource
@context {bool} minify
If true and the resource is a string, it will be minified as part of the build
step.
@context {bool} module
If true, add information to the script element indicating it should be loaded
as a module
2024-11-13 17:03:38 -08:00
*/}}
2024-08-03 16:17:44 -07:00
{{- $resource := .resource -}}
{{- $shouldMinify := .minify -}}
{{- $isModule := .module | default false -}}
{{- if eq (printf "%T" $resource) "string" }}
{{
$resource = partial "resource_builders/build_js.html"
(dict "resource" $resource "minify" $shouldMinify)
}}
{{- end -}}
2024-08-03 16:17:44 -07:00
{{- with $resource }}
{{- if eq hugo.Environment "development" }}
<script src="{{ .RelPermalink }}"
{{- if $isModule }} type="module"{{ end -}}
></script>
{{- else }}
<script src="{{ .RelPermalink }}" crossorigin="anonymous"
{{- if $isModule }} type="module"{{ end }}
{{- with .Data.Integrity }} integrity="{{ . }}"{{ end -}}
></script>
{{- end }}
{{- end -}}