aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortdro <tdro@noreply.example.com>2022-10-31 03:35:59 -0400
committertdro <tdro@noreply.example.com>2022-10-31 03:35:59 -0400
commitbec107a46771da25778a92d7e881f157dc91c035 (patch)
treede5ac74a96b9648e1e23a3620163a8538c838859
parente93f107cacbb861986f4b3832c3b6cae20893b6a (diff)
downloadcanory-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.html37
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 -}}