MCPcopy Create free account
hub / github.com/gogs/gogs / NewTemplateFileSystem

Function NewTemplateFileSystem

templates/embed.go:56–85  ·  view source on GitHub ↗

NewTemplateFileSystem returns a macaron.TemplateFileSystem instance for embedded assets. The argument "dir" can be used to serve subset of embedded assets. Template file found under the "customDir" on disk has higher precedence over embedded assets.

(dir, customDir string)

Source from the content-addressed store, hash-verified

54// The argument "dir" can be used to serve subset of embedded assets. Template file
55// found under the "customDir" on disk has higher precedence over embedded assets.
56func NewTemplateFileSystem(dir, customDir string) macaron.TemplateFileSystem {
57 if dir != "" && !strings.HasSuffix(dir, "/") {
58 dir += "/"
59 }
60
61 var err error
62 var tmplFiles []macaron.TemplateFile
63 names := mustNames(files)
64 for _, name := range names {
65 if !strings.HasPrefix(name, dir) {
66 continue
67 }
68 // Check if corresponding custom file exists
69 var data []byte
70 fpath := path.Join(customDir, name)
71 if osutil.IsFile(fpath) {
72 data, err = os.ReadFile(fpath)
73 } else {
74 data, err = files.ReadFile(name)
75 }
76 if err != nil {
77 panic(err)
78 }
79 name = strings.TrimPrefix(name, dir)
80 ext := path.Ext(name)
81 name = strings.TrimSuffix(name, ext)
82 tmplFiles = append(tmplFiles, macaron.NewTplFile(name, data, ext))
83 }
84 return &fileSystem{files: tmplFiles}
85}

Callers 2

renderFunction · 0.92
newMacaronFunction · 0.92

Calls 3

IsFileFunction · 0.92
mustNamesFunction · 0.85
appendFunction · 0.85

Tested by

no test coverage detected