forked from kevadesu/forgejo
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:
parent
8f4dafcd4e
commit
e3750370df
11 changed files with 37 additions and 34 deletions
|
@ -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
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue