-
Notifications
You must be signed in to change notification settings - Fork 0
/
httptemplates.go
69 lines (54 loc) · 1.77 KB
/
httptemplates.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
package main
import (
"io/ioutil"
//"net/http"
"html/template"
"os"
)
var (
TemplateSingleColumnTable = `singlecolumntable.html`
TemplateDNATable = `dna.html`
TemplateKawaiiTable = `kawaii.html`
TemplateSkeleton = `skeleton.html`
TemplatePluginlist = `pluginlist.html`
TemplatePluginedit = `pluginedit.html`
TemplateLogin = `login.html`
TemplateCreateUser = `createuser.html`
TemplateFiles = `files.html`
TemplateGridFiles = `files_grid.html`
TemplateFileUpload = `fileupload.html`
TemplateDocs = `docs.html`
TemplateFilesPrefixList = `filesprefixlist.html`
TemplateFileUploaded = `fileuploaded.html`
TemplateIRCLogs = `irclogs.html`
TemplateIRCLatest = `irclatest.html`
TemplateMongoTable = `mongotable.html`
)
func init() {
TemplFuncs["ftypes"] = Filetypes
}
var TemplFuncs = make(template.FuncMap)
func Template(subtmpl string) *template.Template {
templ := template.New("main")
skel, err := ioutil.ReadFile(conf.Web.Templatedir + string(os.PathSeparator) + "skeleton.html")
if err != nil {
skel = []byte(`Could not load skeleton template <br /> {{template "content" .}}`)
}
templ.Funcs(TemplFuncs)
_, err = templ.Parse(string(skel))
contenttmpl := templ.New("content")
if subtmpl != "" {
content, err := ioutil.ReadFile(conf.Web.Templatedir + string(os.PathSeparator) + subtmpl)
if err != nil {
contenttmpl.Parse(`Could not load subtemplate: ` + err.Error())
return templ
}
_, err = contenttmpl.Parse(string(content))
if err != nil {
contenttmpl.Parse(`Could not load subtemplate: ` + err.Error())
}
} else {
contenttmpl.Parse(` `)
}
return templ
}