{{ $script := slice }} {{/* Record all the JS file names, except the general files. */}} {{ $script_files_list := slice }} {{ $script = $script | append ( resources.Match "_theme/js/*.js" ) }} {{ with $.Site.Params.globalFrontmatter.externalJs }} {{ range $js_src := $.Site.Params.globalFrontmatter.externalJs }} {{ $script = $script | append (resources.GetRemote $js_src ) }} {{ $script_files_list = $script_files_list | append $js_src }} {{ end }} {{ end }} {{ with $.Site.Params.globalFrontmatter.localJs }} {{ range $js_src := $.Site.Params.globalFrontmatter.localJs }} {{ $script = $script | append (resources.Match $js_src ) }} {{ $script_files_list = $script_files_list | append $js_src }} {{ end }} {{ end }} {{ if isset $.Params "externaljs" }} {{ range $js_src := $.Params.externaljs }} {{ $script = $script | append (resources.GetRemote $js_src ) }} {{ $script_files_list = $script_files_list | append $js_src }} {{ end }} {{ end }} {{ if isset $.Params "localjs" }} {{ range $js_src := $.Params.localjs }} {{ $script = $script | append (resources.Match $js_src ) }} {{ $script_files_list = $script_files_list | append $js_src }} {{ end }} {{ end }} {{ if hugo.IsProduction }} {{/* Create a hash based on the file list, to determince different style file */}} {{ $hash:= substr (jsonify $script_files_list | md5) 0 7 }} {{ $script = $script | resources.Concat ( printf "js/index_%s.js" $hash ) | minify | resources.Fingerprint "sha512" }} {{ else }} {{ range $script }} {{ $currentScript := . | resources.Fingerprint "sha512" }} {{ end }} {{ end }} {{ $js_seprated := slice }} {{ if isset $.Params "externaljs" }} {{ range $js_src := $.Params.externaljs }} {{ $js_seprated = $js_seprated | append ($js_src ) }} {{ end }} {{ end }} {{ with $.Site.Params.globalFrontmatter.externalJs }} {{ range $js_src := $.Site.Params.globalFrontmatter.externalJs }} {{ $js_seprated = $js_seprated | append ( $js_src ) }} {{ end }} {{ end }} {{ range $js_seprated }} {{ end }} {{/* Include the mermaid script if needed */}} {{ if .Page.Store.Get "hasMermaid" }} {{ end }}