From b7bbe87298cb6a6c124987a84479b3e36c60b5e5 Mon Sep 17 00:00:00 2001 From: Salim B Date: Wed, 1 Nov 2023 00:33:29 +0100 Subject: [PATCH] Incl. extracted inline styles in head --- layouts/partials/_inline-svg.html | 8 ++++++++ layouts/partials/head/inline-svg-styles.html | 8 ++++++++ 2 files changed, 16 insertions(+) create mode 100644 layouts/partials/head/inline-svg-styles.html diff --git a/layouts/partials/_inline-svg.html b/layouts/partials/_inline-svg.html index 32a3189..9476d98 100644 --- a/layouts/partials/_inline-svg.html +++ b/layouts/partials/_inline-svg.html @@ -75,6 +75,14 @@ {{ end }} {{ $replacement = print "$1 " (delimit $attributes " ") "$2" }} {{ $markup = replaceRE $patternSvgTag $replacement $markup 1 }} + + {{/* Extract inline styles and write them to page store to be included in head */}} + {{ $inlineStyles := slice }} + {{ range (findRE `]*)?>[\s\S]*?` $markup) }} + {{ $inlineStyles = append (replaceRE `(^]*)?>|$)` "" .) $inlineStyles }} + {{ $markup = replace $markup . "" 1 }} + {{ end }} + {{ page.Store.Add "inlineStyles" $inlineStyles }} {{ else }} {{ warnf "Could not find src '%s'." .src }} {{ end }} diff --git a/layouts/partials/head/inline-svg-styles.html b/layouts/partials/head/inline-svg-styles.html new file mode 100644 index 0000000..a10829d --- /dev/null +++ b/layouts/partials/head/inline-svg-styles.html @@ -0,0 +1,8 @@ +{{- /* Trigger evaluation of shortcodes */ -}} +{{- $noop := .WordCount -}} +{{- /* Include extracted inline SVG styles as proper resources */ -}} +{{- $css := "" -}} +{{- with .Store.Get "inlineStyles" -}} + {{- $css := delimit . "\n" | resources.FromString "inline-svg.css" | resources.Fingerprint "sha512" -}} + +{{- end }}