1
1
mirror of https://github.com/go-gitea/gitea synced 2025-07-22 18:28:37 +00:00

Use globally shared HTMLRender (#24436)

The old `HTMLRender` is not ideal.

1. It shouldn't be initialized multiple times, it consumes a lot of
memory and is slow.
2. It shouldn't depend on short-lived requests, the `WatchLocalChanges`
needs a long-running context.
3. It doesn't make sense to use FuncsMap slice.


HTMLRender was designed to only work for GItea's specialized 400+
templates, so it's good to make it a global shared instance.
This commit is contained in:
wxiaoguang
2023-04-30 20:22:23 +08:00
committed by GitHub
parent 8f4dafcd4e
commit e3750370df
11 changed files with 37 additions and 34 deletions

View File

@@ -10,7 +10,6 @@ import (
"html"
"html/template"
"net/url"
"regexp"
"strings"
"time"
@@ -26,12 +25,9 @@ import (
"code.gitea.io/gitea/services/gitdiff"
)
// Used from static.go && dynamic.go
var mailSubjectSplit = regexp.MustCompile(`(?m)^-{3,}[\s]*$`)
// NewFuncMap returns functions for injecting to templates
func NewFuncMap() []template.FuncMap {
return []template.FuncMap{map[string]interface{}{
func NewFuncMap() template.FuncMap {
return map[string]interface{}{
"DumpVar": dumpVar,
// -----------------------------------------------------------------
@@ -192,7 +188,7 @@ func NewFuncMap() []template.FuncMap {
"FilenameIsImage": FilenameIsImage,
"TabSizeClass": TabSizeClass,
}}
}
}
// Safe render raw as HTML