aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRunxi Yu <me@runxiyu.org>2025-04-05 23:24:12 +0800
committerRunxi Yu <me@runxiyu.org>2025-04-05 23:24:12 +0800
commit1fe30eb95bc3219a5c16b90d443f8268cc85456c (patch)
tree8768393ec4cd92ca2d25719ba1acfb4410a1b8a6
parentmisc: Move IterSeqLimit to misc (diff)
downloadforge-1fe30eb95bc3219a5c16b90d443f8268cc85456c.tar.gz
forge-1fe30eb95bc3219a5c16b90d443f8268cc85456c.tar.zst
forge-1fe30eb95bc3219a5c16b90d443f8268cc85456c.zip
Export functions intended to be used in HTML templates
-rw-r--r--http_template_funcs.go28
-rw-r--r--resources.go10
2 files changed, 19 insertions, 19 deletions
diff --git a/http_template_funcs.go b/http_template_funcs.go
index 616afe2..11e4fad 100644
--- a/http_template_funcs.go
+++ b/http_template_funcs.go
@@ -8,33 +8,33 @@ import (
"strings"
)
-// These are all trivial functions that are used in HTML templates.
-// See resources.go.
+// These are all trivial functions that are intended to be used in HTML
+// templates.
-// firstLine returns the first line of a string.
-func firstLine(s string) string {
+// FirstLine returns the first line of a string.
+func FirstLine(s string) string {
before, _, _ := strings.Cut(s, "\n")
return before
}
-// pathEscape escapes the input as an URL path segment.
-func pathEscape(s string) string {
+// PathEscape escapes the input as an URL path segment.
+func PathEscape(s string) string {
return url.PathEscape(s)
}
-// queryEscape escapes the input as an URL query segment.
-func queryEscape(s string) string {
+// QueryEscape escapes the input as an URL query segment.
+func QueryEscape(s string) string {
return url.QueryEscape(s)
}
-// dereference dereferences a pointer.
-func dereference[T any](p *T) T {
+// Dereference dereferences a pointer.
+func Dereference[T any](p *T) T {
return *p
}
-// dereferenceOrZero dereferences a pointer. If the pointer is nil, the zero
+// DereferenceOrZero dereferences a pointer. If the pointer is nil, the zero
// value of its associated type is returned instead.
-func dereferenceOrZero[T any](p *T) T {
+func DereferenceOrZero[T any](p *T) T {
if p != nil {
return *p
}
@@ -42,7 +42,7 @@ func dereferenceOrZero[T any](p *T) T {
return z
}
-// minus subtracts two numbers.
-func minus(a, b int) int {
+// Minus subtracts two numbers.
+func Minus(a, b int) int {
return a - b
}
diff --git a/resources.go b/resources.go
index 0f2e1a9..637b8ed 100644
--- a/resources.go
+++ b/resources.go
@@ -32,11 +32,11 @@ func loadTemplates() (err error) {
minifier.Add("text/html", &minifierOptions)
templates = template.New("templates").Funcs(template.FuncMap{
- "first_line": firstLine,
- "path_escape": pathEscape,
- "query_escape": queryEscape,
- "dereference_error": dereferenceOrZero[error],
- "minus": minus,
+ "first_line": FirstLine,
+ "path_escape": PathEscape,
+ "query_escape": QueryEscape,
+ "dereference_error": DereferenceOrZero[error],
+ "minus": Minus,
})
err = fs.WalkDir(embeddedResourcesFS, "templates", func(path string, d fs.DirEntry, err error) error {