diff options
author | Runxi Yu <me@runxiyu.org> | 2025-04-05 23:24:12 +0800 |
---|---|---|
committer | Runxi Yu <me@runxiyu.org> | 2025-04-05 23:24:12 +0800 |
commit | 1fe30eb95bc3219a5c16b90d443f8268cc85456c (patch) | |
tree | 8768393ec4cd92ca2d25719ba1acfb4410a1b8a6 | |
parent | misc: Move IterSeqLimit to misc (diff) | |
download | forge-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.go | 28 | ||||
-rw-r--r-- | resources.go | 10 |
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 { |