aboutsummaryrefslogtreecommitdiff
path: root/site/layouts/partials/scripts.html
diff options
context:
space:
mode:
Diffstat (limited to 'site/layouts/partials/scripts.html')
-rw-r--r--site/layouts/partials/scripts.html46
1 files changed, 33 insertions, 13 deletions
diff --git a/site/layouts/partials/scripts.html b/site/layouts/partials/scripts.html
index d25add3ff..e224c4b37 100644
--- a/site/layouts/partials/scripts.html
+++ b/site/layouts/partials/scripts.html
@@ -1,20 +1,40 @@
-{{ if eq hugo.Environment "production" -}}
- <script src="/docs/{{ .Site.Params.docs_version }}/dist/js/bootstrap.bundle.min.js" {{ printf "integrity=%q" .Site.Params.cdn.js_bundle_hash | safeHTMLAttr }} crossorigin="anonymous"></script>
+{{ if hugo.IsProduction -}}
+ <script defer src="/docs/{{ .Site.Params.docs_version }}/dist/js/bootstrap.bundle.min.js" {{ printf "integrity=%q" .Site.Params.cdn.js_bundle_hash | safeHTMLAttr }}></script>
{{ else -}}
- <script src="/docs/{{ .Site.Params.docs_version }}/dist/js/bootstrap.bundle.js"></script>
+ <script defer src="/docs/{{ .Site.Params.docs_version }}/dist/js/bootstrap.bundle.js"></script>
{{- end }}
-{{ if eq .Page.Layout "docs" -}}
-<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
+{{- $esbuildOptions := dict "target" "es2019" -}}
+{{- $targetDocsJSPath := path.Join "/docs" .Site.Params.docs_version -}}
+
+{{- if hugo.IsProduction -}}
+ {{- $esbuildOptions = merge $esbuildOptions (dict "minify" "true") -}}
{{- end }}
-{{- $vendor := resources.Match "js/vendor/*.js" -}}
-{{- $js := resources.Match "js/*.js" -}}
-{{- $targetDocsJSPath := path.Join "/docs" .Site.Params.docs_version "assets/js/docs.js" -}}
-{{- $docsJs := append $js $vendor | resources.Concat $targetDocsJSPath -}}
+{{- $applicationJs := resources.Get "js/application.js" | js.Build $esbuildOptions | resources.Copy (path.Join $targetDocsJSPath "/assets/js/application.js") }}
+<script defer src="{{ $applicationJs.RelPermalink }}"></script>
-{{- if eq hugo.Environment "production" -}}
- {{- $docsJs = $docsJs | resources.Minify -}}
-{{- end }}
+{{- if (ne .Page.Layout "examples") -}}
+{{- $esbuildParams := dict
+ "apiKey" .Site.Params.algolia.apiKey
+ "appId" .Site.Params.algolia.appId
+ "indexName" .Site.Params.algolia.indexName
+-}}
+{{- $esbuildOptions = merge $esbuildOptions (dict "params" $esbuildParams) -}}
+{{- $searchJs := resources.Get "js/search.js" | js.Build $esbuildOptions | resources.Copy (path.Join $targetDocsJSPath "/assets/js/search.js") }}
+<script defer src="{{ $searchJs.RelPermalink }}"></script>
+{{- end -}}
-<script src="{{ $docsJs.Permalink | relURL }}"></script>
+{{ if eq .Page.Layout "docs" -}}
+{{- /* Disable minify options for snippets.js so that the file's readable on StackBlitz */ -}}
+{{- $snippetsFile := resources.Get "js/snippets.js" | js.Build (merge $esbuildOptions (dict "minify" "false")) -}}
+{{- $esbuildParams := dict
+ "cssCdn" .Site.Params.cdn.css
+ "jsBundleCdn" .Site.Params.cdn.js_bundle
+ "docsVersion" .Site.Params.docs_version
+ "jsSnippetFile" $snippetsFile.Content
+-}}
+{{- $esbuildOptions = merge $esbuildOptions (dict "params" $esbuildParams) -}}
+{{- $stackblitzJs := resources.Get "js/stackblitz.js" | js.Build $esbuildOptions | resources.Copy (path.Join $targetDocsJSPath "/assets/js/stackblitz.js") }}
+<script defer src="{{ $stackblitzJs.RelPermalink }}"></script>
+{{- end -}}