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

41 lines
1.2 KiB
HTML

{{/*
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
*/}}
{{- $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 }}
{{ with $resource }}
{{ if eq hugo.Environment "development" }}
<script {{ if $isModule }}type="module"{{ end }} src="{{ .RelPermalink }}"></script>
{{ else }}
<script
{{- if $isModule }} type="module" {{ end -}}
src="{{ .RelPermalink }}"
{{- with .Data.Integrity }} integrity="{{ . }}" {{ end -}}
crossorigin="anonymous"
{{- "" -}}>
</script>
{{ end }}
{{ end }}