{{- $jsRes := .Site.Data.resources.js }} {{- $vendor := .Site.Params.vendors.plugins }} {{- $router := .Scratch.Get "router" }} {{ $jsFmt := "%s/%s@%s/%s" }} {{- range $js := $jsRes }} {{- $npm := $js.name }} {{- $file := $js.file }} {{- if eq $vendor "cdnjs" }} {{- with $js.alias }} {{- $npm = . }} {{- end }} {{- $file = replaceRE `(dist|lib|source\/js)\/` "" $js.file }} {{- $jsFmt = "%s/%s/%s/%s" }} {{- end }} {{- $pluginJS := printf $jsFmt $router $npm $js.version $file }} {{- end }} {{- $config := resources.Get "js/config.js" }} {{- $motion := resources.Get "js/motion.js" }} {{- $boot := resources.Get "js/next-boot.js" }} {{- $utils := resources.Get "js/utils.js" }} {{- $nextjs := (slice $config $utils $boot ) }} {{- if .Site.Params.motion.enable }} {{ $motionjs := resources.Get "js/motion.js" }} {{ $nextjs = $nextjs | append $motionjs }} {{- end }} {{- if or (eq .Site.Params.shceme "Muse") (eq .Site.Params.shceme "Mist") }} {{ $musejs := resources.Get "js/schemes/muse.js" }} {{ $nextjs = $nextjs | append $musejs }} {{- end }} {{- if .Site.Params.bookmark.enable }} {{- $bookmarkjs := resources.Get "js/bookmark.js" }} {{- $nextjs = $nextjs | append $bookmarkjs }} {{- end }} {{- if .Site.Params.pjax }} {{- $pjaxjs := resources.Get "js/pjax.js" }} {{- $nextjs = $nextjs | append $pjaxjs }} {{- end }} {{- if isset .Site.Params "addthisid" }} {{- $addthisjs := resources.Get "js/third-party/share/addthis.js" }} {{- $nextjs = $nextjs | append $addthisjs }} {{- end }} {{- if isset .Site.Params "waline" }} {{- $walinejs := resources.Get "js/third-party/comments/waline.js" }} {{- $nextjs = $nextjs | append $walinejs }} {{- end }} {{- if isset .Site.Params "giscus" }} {{- $giscusjs := resources.Get "js/third-party/comments/giscus.js" }} {{- $nextjs = $nextjs | append $giscusjs }} {{- end }} {{- if isset .Site.Params "livere" }} {{- $liverejs := resources.Get "js/third-party/comments/livere.js" }} {{- $nextjs = $nextjs | append $liverejs }} {{- end }} {{- if isset .Site.Params "artalk" }} {{- $artalkjs := resources.Get "js/third-party/comments/artalk.js" }} {{- $nextjs = $nextjs | append $artalkjs }} {{- end }} {{- if isset .Site.Params "utterances" }} {{- $utterancesjs := resources.Get "js/third-party/comments/utterances.js" }} {{- $nextjs = $nextjs | append $utterancesjs }} {{- end }} {{- if .Site.Params.localSearch.enable }} {{- $search := resources.Get "js/third-party/search/local.js" }} {{- $nextjs = $nextjs | append $search }} {{ end }} {{- if .Site.Params.algoliaSearch.enable }} {{- $search := resources.Get "js/third-party/search/algolia.js" }} {{- $nextjs = $nextjs | append $search }} {{ end }} {{- $nextjs = $nextjs | resources.Concat "js/main.js"}} {{ if hugo.IsProduction }} {{- $nextjs = $nextjs | minify | fingerprint }} {{ end }}