Implement fingerprinting site and page resources

This will keep browsers from caching files that have changed. I've also added
SRI information to the <script> and <link> elements for browsers to verify
resources.

Squashed commit of the following:

commit f3fcb16388
Author: Eryn Wells <eryn@erynwells.me>
Date:   Tue Nov 8 17:47:42 2022 -0800

    Remove static/styles/root.css

commit 53a30624a0
Author: Eryn Wells <eryn@erynwells.me>
Date:   Tue Nov 8 17:47:26 2022 -0800

    Add back the basic table styles that got ditched when root.css was moved to assets/styles

commit 294fa8343b
Author: Eryn Wells <eryn@erynwells.me>
Date:   Tue Nov 8 17:45:38 2022 -0800

    Get all the fingerprinting done!

    - Add partials in the resources folder for each of the major resources of my site
    - Consolidate .css and .js files via resources.Concat where possible

commit d0b223fa33
Author: Eryn Wells <eryn@erynwells.me>
Date:   Mon Nov 7 08:36:39 2022 -0800

    All the template updates for fingerprinting

commit 1751abadac
Author: Eryn Wells <eryn@erynwells.me>
Date:   Mon Nov 7 08:36:27 2022 -0800

    Add secure_asset.html template

commit 94ea8068c9
Author: Eryn Wells <eryn@erynwells.me>
Date:   Mon Nov 7 08:35:48 2022 -0800

    Move a bunch of scripts and CSS to assets so they can be processed with Hugo Pipes

    Use Pipes to fingerprint and add SLI information to <script> and <link> tags.
This commit is contained in:
Eryn Wells 2022-11-08 17:50:11 -08:00
parent f8174ab27c
commit 9601e1e283
24 changed files with 106327 additions and 55 deletions

View file

@ -6,27 +6,25 @@
{{ partial "single_main.html" . }}
{{ end }}
{{ define "styles" }}
{{- if .HasShortcode "figures/railroad" -}}
<link rel="preload stylesheet" as="style" href="{{ `styles/railroad.css` | absURL }}">
{{- end -}}
<link rel="preload stylesheet" as="style" href="{{ `styles/monokai.css` | absURL }}">
{{ end }}
{{ define "scripts" }}
{{- if .HasShortcode "figures/railroad" -}}
<script defer type="module" src="{{ `scripts/railroad.js` | absURL }}"></script>
<script defer type="module" src="{{ `scripts/railroad-utils.js` | absURL }}"></script>
{{- with partial "resources/railroad_utils.html" . -}}
<script defer type="module" src="{{ .RelPermalink }}" integrity="{{ .Data.Integrity }}"></script>
{{- end -}}
{{- end -}}
{{- if .HasShortcode "figures/p5" -}}
<script defer src="{{ `scripts/p5-1.4.1.min.js` | absURL }}"></script>
<script defer src="{{ `scripts/sketch-utils.js` | absURL }}"></script>
{{- with partial "secure_asset.html" "scripts/lib/p5-1.5.0.js" -}}
<script defer src="{{ .Secure.Permalink }}" integrity="{{ .Secure.Data.Integrity }}"></script>
{{- end -}}
{{- with partial "secure_asset.html" "scripts/sketch-utils.js" -}}
<script defer src="{{ .Secure.Permalink }}" integrity="{{ .Secure.Data.Integrity }}"></script>
{{- end -}}
{{- end -}}
{{- range $script := .Resources.Match "*.js" -}}
{{- $isModule := default true $script.Params.is_module -}}
<script defer {{ if $isModule }}type="module"{{ end }} src="{{ $script.Permalink | relURL }}"></script>
{{- $isModule := default true $script.Params.is_module -}}
<script defer {{ if $isModule }}type="module"{{ end }} src="{{ $script.Permalink | relURL }}"></script>
{{- end -}}
{{ end }}