aboutsummaryrefslogtreecommitdiff
path: root/forged/internal/render/escape.go
diff options
context:
space:
mode:
Diffstat (limited to 'forged/internal/render/escape.go')
-rw-r--r--forged/internal/render/escape.go14
1 files changed, 14 insertions, 0 deletions
diff --git a/forged/internal/render/escape.go b/forged/internal/render/escape.go
new file mode 100644
index 0000000..031e333
--- /dev/null
+++ b/forged/internal/render/escape.go
@@ -0,0 +1,14 @@
+// SPDX-License-Identifier: AGPL-3.0-only
+// SPDX-FileCopyrightText: Copyright (c) 2025 Runxi Yu <https://runxiyu.org>
+
+package render
+
+import (
+ "html"
+ "html/template"
+)
+
+// EscapeHTML just escapes a string and wraps it in [template.HTML].
+func EscapeHTML(s string) template.HTML {
+ return template.HTML(html.EscapeString(s)) //#nosec G203
+}