{{ $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 }}