feat: added options lazySizes, clipBoard, instantPage, flexSearch, and darkMode
This commit is contained in:
@ -1,19 +1,51 @@
|
||||
{{ $indexTemplate := resources.Get "js/index.js" -}}
|
||||
{{ $index := $indexTemplate | resources.ExecuteAsTemplate "index.js" . -}}
|
||||
{{ $lazysizes := resources.Get "js/vendor/lazysizes/lazysizes.min.js" -}}
|
||||
{{ $flexsearch := resources.Get "js/vendor/flexsearch/dist/flexsearch.min.js" -}}
|
||||
{{ $clipboard := resources.Get "js/vendor/clipboard/dist/clipboard.min.js" -}}
|
||||
|
||||
{{ $app := resources.Get "js/app.js" -}}
|
||||
|
||||
{{ $slice := slice $app -}}
|
||||
|
||||
{{ if .Site.Params.options.lazySizes -}}
|
||||
{{ $lazySizes := resources.Get "js/lazySizes.js" -}}
|
||||
{{ $lazySizes := $lazySizes | js.Build -}}
|
||||
{{ $slice = $slice | append $lazySizes -}}
|
||||
{{ end -}}
|
||||
|
||||
{{ if .Site.Params.options.clipBoard -}}
|
||||
{{ $clipBoard := resources.Get "js/clipBoard.js" -}}
|
||||
{{ $clipBoard := $clipBoard | js.Build -}}
|
||||
{{ $slice = $slice | append $clipBoard -}}
|
||||
{{ end -}}
|
||||
|
||||
{{ if .Site.Params.options.instantPage -}}
|
||||
{{ $instantPage := resources.Get "js/instant.page.js" -}}
|
||||
{{ $instantPage := $instantPage | js.Build -}}
|
||||
{{ $slice = $slice | append $instantPage -}}
|
||||
{{ end -}}
|
||||
|
||||
{{ if .Site.Params.options.flexSearch -}}
|
||||
{{ $flexSearch := resources.Get "js/vendor/flexsearch/dist/flexsearch.min.js" -}}
|
||||
{{ $slice = $slice | append $flexSearch -}}
|
||||
{{ end -}}
|
||||
|
||||
{{ if .Site.Params.options.darkMode -}}
|
||||
{{ $darkMode := resources.Get "js/darkmode.js" -}}
|
||||
{{ $darkMode := $darkMode | js.Build -}}
|
||||
{{ $slice = $slice | append $darkMode -}}
|
||||
{{ end -}}
|
||||
|
||||
{{ $js := $slice | resources.Concat "main.js" -}}
|
||||
|
||||
{{ if eq (hugo.Environment) "development" -}}
|
||||
{{ $app := resources.Get "js/app.js" -}}
|
||||
{{ $js := slice $lazysizes $clipboard $flexsearch $app | resources.Concat "main.js" -}}
|
||||
<script src="{{ $js.Permalink }}" defer></script>
|
||||
<script src="{{ $index.Permalink }}" defer></script>
|
||||
{{ if .Site.Params.options.flexSearch -}}
|
||||
<script src="{{ $index.Permalink }}" defer></script>
|
||||
{{ end -}}
|
||||
{{ else -}}
|
||||
{{ $instantPage := resources.Get "js/vendor/instant.page/instantpage.js" | minify -}}
|
||||
{{ $app := resources.Get "js/app.js" | minify -}}
|
||||
{{ $js := slice $lazysizes $clipboard $flexsearch $instantPage $app | resources.Concat "main.js" -}}
|
||||
{{ $jsProd := $js | resources.Fingerprint "sha512" -}}
|
||||
{{ $indexProd := $index | resources.Minify | resources.Fingerprint "sha512" -}}
|
||||
<script src="{{ $jsProd.Permalink }}" integrity="{{ $jsProd.Data.Integrity }}" crossorigin="anonymous" defer></script>
|
||||
<script src="{{ $indexProd.Permalink }}" integrity="{{ $indexProd.Data.Integrity }}" crossorigin="anonymous" defer></script>
|
||||
{{ $js := $js | minify | fingerprint "sha512" -}}
|
||||
{{ $index := $index | minify | fingerprint "sha512" -}}
|
||||
<script src="{{ $js.Permalink }}" integrity="{{ $js.Data.Integrity }}" crossorigin="anonymous" defer></script>
|
||||
{{ if .Site.Params.options.flexSearch -}}
|
||||
<script src="{{ $index.Permalink }}" integrity="{{ $index.Data.Integrity }}" crossorigin="anonymous" defer></script>
|
||||
{{ end -}}
|
||||
{{ end -}}
|
Reference in New Issue
Block a user