Fingerprint and minify all resources, move custom css and js to assets dir
This commit is contained in:
parent
4c1ba11756
commit
e9ee82e764
@ -61,9 +61,9 @@ params:
|
|||||||
images:
|
images:
|
||||||
- images/og-featured.png # relative path to "static" directory
|
- images/og-featured.png # relative path to "static" directory
|
||||||
customCSS:
|
customCSS:
|
||||||
- css/my.css # relative path to "static" directory
|
- css/my.css # relative path to "assets" or "static" directory
|
||||||
customJS:
|
customJS:
|
||||||
- js/main.js # relative path to "static" directory
|
- js/main.js # relative path to "assets" or "static" directory
|
||||||
dateFormat: "2006-01-02"
|
dateFormat: "2006-01-02"
|
||||||
paginationSinglePost: true
|
paginationSinglePost: true
|
||||||
style: light-without-switcher
|
style: light-without-switcher
|
||||||
|
@ -14,20 +14,14 @@
|
|||||||
<link rel="icon" type="image/x-icon" href="{{ "favicon.ico" | absURL }}">
|
<link rel="icon" type="image/x-icon" href="{{ "favicon.ico" | absURL }}">
|
||||||
<link rel="apple-touch-icon-precomposed" href="{{ "favicon.png" | absURL }}">
|
<link rel="apple-touch-icon-precomposed" href="{{ "favicon.png" | absURL }}">
|
||||||
|
|
||||||
{{ $cssTemplate := resources.Get "css/main.css" }}
|
{{ partial "resource.html" (dict "context" . "type" "css" "filename" "css/main.css") }}
|
||||||
{{ $style := $cssTemplate | resources.ExecuteAsTemplate "css/style.css" . | resources.ToCSS }}
|
|
||||||
{{ if eq (getenv "HUGO_ENV") "production" | or (eq .Site.Params.env "production") }}
|
|
||||||
{{ $style = $style | resources.Minify }}
|
|
||||||
{{ end }}
|
|
||||||
{{ $style = $style | resources.Fingerprint "sha256" }}
|
|
||||||
<link rel="stylesheet" href="{{ $style.Permalink }}" integrity="{{ $style.Data.Integrity }}">
|
|
||||||
|
|
||||||
{{ range .Site.Params.customCSS -}}
|
{{ range .Site.Params.customCSS -}}
|
||||||
<link rel="stylesheet" href="{{ . | absURL }}?rnd={{ now.Unix }}">
|
{{ partial "resource.html" (dict "context" $ "type" "css" "filename" . ) }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
|
||||||
{{ range .Site.Params.customJS -}}
|
{{ range .Site.Params.customJS -}}
|
||||||
<script src="{{ . | absURL }}?rnd={{ now.Unix }}" type="text/javascript" charset="utf-8"></script>
|
{{ partial "resource.html" (dict "context" $ "type" "js" "filename" . ) }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
|
||||||
{{ template "_internal/opengraph.html" . }}
|
{{ template "_internal/opengraph.html" . }}
|
||||||
|
29
layouts/partials/resource.html
Normal file
29
layouts/partials/resource.html
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
{{ $targetFilename := "file" }}
|
||||||
|
{{ if eq .type "css" }}
|
||||||
|
{{ $targetFilename = "css/style.css"}}
|
||||||
|
{{ else if eq .type "js" }}
|
||||||
|
{{ $targetFilename = "js/script.js"}}
|
||||||
|
{{ end }}
|
||||||
|
|
||||||
|
{{ $resource := resources.Get .filename }}
|
||||||
|
|
||||||
|
{{ if $resource }}
|
||||||
|
{{ $resource := $resource | resources.ExecuteAsTemplate $targetFilename . }}
|
||||||
|
{{ if eq (getenv "HUGO_ENV") "production" | or (eq .Site.Params.env "production") }}
|
||||||
|
{{ $resource = $resource | resources.Minify }}
|
||||||
|
{{ end }}
|
||||||
|
{{ $resource = $resource | resources.Fingerprint "sha256" }}
|
||||||
|
|
||||||
|
{{ if eq .type "css" }}
|
||||||
|
<link rel="stylesheet" href="{{ $resource.Permalink }}" integrity="{{ $resource.Data.Integrity }}">
|
||||||
|
{{ else if eq .type "js" }}
|
||||||
|
<script src="{{ $resource.Permalink }}" type="text/javascript" charset="utf-8" integrity="{{ $resource.Data.Integrity }}"></script>
|
||||||
|
{{ end }}
|
||||||
|
<!-- For backward compatibility -->
|
||||||
|
{{ else }}
|
||||||
|
{{ if eq .type "css" }}
|
||||||
|
<link rel="stylesheet" href="{{ .filename | absURL }}?rnd={{ now.Unix }}">
|
||||||
|
{{ else if eq .type "js" }}
|
||||||
|
<script src="{{ .filename | absURL }}?rnd={{ now.Unix }}" type="text/javascript" charset="utf-8"></script>
|
||||||
|
{{ end }}
|
||||||
|
{{ end }}
|
Loading…
Reference in New Issue
Block a user