package newtmpl import ( "embed" "fmt" "github.com/bouncepaw/mycorrhiza/cfg" "github.com/bouncepaw/mycorrhiza/util" "html/template" "strings" "github.com/bouncepaw/mycorrhiza/viewutil" ) //go:embed *.html var fs embed.FS var base = template.Must(template.ParseFS(fs, "base.html")) type Page struct { TemplateEnglish *template.Template TemplateRussian *template.Template } func NewPage(fs embed.FS, tmpl string, russianTranslation map[string]string) *Page { must := template.Must en := must(must(must( base.Clone()). Funcs(template.FuncMap{ "beautifulName": util.BeautifulName, "inc": func(i int) int { return i + 1 }, }). Parse(fmt.Sprintf(` {{define "wiki name"}}%s{{end}} {{define "user hypha"}}%s{{end}} `, cfg.WikiName, cfg.UserHypha))). ParseFS(fs, tmpl)) if cfg.UseAuth { en = must(en.Parse(` {{define "auth"}}
{{end}} `)) } if cfg.AllowRegistration { must(en.Parse(`{{define "registration"}} {{if .Meta.U.Group | eq "anon"}}