diff options
author | tdro <tdro@noreply.example.com> | 2022-10-31 03:35:59 -0400 |
---|---|---|
committer | tdro <tdro@noreply.example.com> | 2022-10-31 03:35:59 -0400 |
commit | bec107a46771da25778a92d7e881f157dc91c035 (patch) | |
tree | de5ac74a96b9648e1e23a3620163a8538c838859 | |
parent | e93f107cacbb861986f4b3832c3b6cae20893b6a (diff) | |
download | canory-bec107a46771da25778a92d7e881f157dc91c035.tar.gz canory-bec107a46771da25778a92d7e881f157dc91c035.tar.bz2 canory-bec107a46771da25778a92d7e881f157dc91c035.zip |
themes/default/layouts/partials/base-csp: Replace regular expression with proper method
-rw-r--r-- | themes/default/layouts/partials/base-csp.html | 37 |
1 files changed, 15 insertions, 22 deletions
diff --git a/themes/default/layouts/partials/base-csp.html b/themes/default/layouts/partials/base-csp.html index 55719d8..99a898c 100644 --- a/themes/default/layouts/partials/base-csp.html +++ b/themes/default/layouts/partials/base-csp.html @@ -1,26 +1,19 @@ <meta name="referrer" content="{{ .Site.Params.site.referrer }}"> -{{- if .Site.Params.csp }} - -{{ - $policy := .Site.Params.csp - | jsonify - | replaceRE "\":\"\",\"" ";\n" - | replaceRE "{\"" "" - | replaceRE "\"],\"" ";\n" - | replaceRE "\",\"" " " - | replaceRE "\":\\[\"" " " - | replaceRE "\"]}" ";" - | replaceRE "\":\"\"}" ";" - | plainify --}} - -{{ printf ` -<meta http-equiv="Content-Security-Policy" content=" -%s -">` -$policy | safeHTML -}} - +{{ with .Site.Params.csp -}} +<meta http-equiv="Content-Security-Policy" +{{- print " content=\"" | safeHTMLAttr }} +{{ range $policy, $list := . -}} +{{- if reflect.IsSlice $list -}} +{{- print $policy | safeHTMLAttr }} +{{- range $list -}} +{{ print " " . | safeHTMLAttr }} +{{- end }}; +{{ else }} +{{- print $policy ";" | safeHTMLAttr }} +{{ end }} {{- end -}} +{{- print "\"" | safeHTMLAttr -}} +> +{{ end -}} |