- Category {{$catName}}
-{{if len .Hyphae}}
- This page lists all hyphae in the category.
-{{else}}
- This category has no hyphae.
-{{end}}
-
-`
+//go:embed categories.html
+var fs embed.FS
var (
- categoriesCardT *template.Template
- categoryPageT *template.Template
+ categoryT *template.Template
)
func init() {
- categoriesCardT = template.Must(template.
- New("category card").
- Funcs(template.FuncMap{
- "beautifulName": util.BeautifulName,
- }).
- Parse(categoriesCardTmpl))
- categoryPageT = template.Must(template.
- New("category page").
- Funcs(template.FuncMap{
- "beautifulName": util.BeautifulName,
- }).
- Parse(categoryPageTmpl))
+ categoryT = template.Must(template.
+ New("category").
+ Funcs(
+ template.FuncMap{
+ "beautifulName": util.BeautifulName,
+ }).
+ ParseFS(fs, "*"))
}
func categoryCardHTML(hyphaName string) string {
var buf strings.Builder
- err := categoriesCardT.Execute(&buf, struct {
+ err := categoryT.ExecuteTemplate(&buf, "category card", struct {
HyphaName string
Categories []string
}{
@@ -95,9 +42,9 @@ func categoryCardHTML(hyphaName string) string {
return buf.String()
}
-func CategoryPageHTML(w io.Writer, rq *http.Request, catName string) {
+func CategoryPageHTML(meta Meta, catName string) {
var buf strings.Builder
- err := categoryPageT.Execute(&buf, struct {
+ err := categoryT.ExecuteTemplate(&buf, "category page", struct {
CatName string
Hyphae []string
}{
@@ -107,10 +54,13 @@ func CategoryPageHTML(w io.Writer, rq *http.Request, catName string) {
if err != nil {
log.Println(err)
}
- io.WriteString(w, BaseHTML(
+ _, err = io.WriteString(meta.W, BaseHTML(
"Category "+util.BeautifulName(catName),
buf.String(),
- l18n.FromRequest(rq),
- user.FromRequest(rq),
+ meta.Lc,
+ meta.U,
))
+ if err != nil {
+ log.Println(err)
+ }
}
diff --git a/views/categories.html b/views/categories.html
new file mode 100644
index 0000000..7f7f999
--- /dev/null
+++ b/views/categories.html
@@ -0,0 +1,51 @@
+{{define "category card"}}
+{{$hyphaName := .HyphaName}}
+
+ Category {{$catName}}
+ {{if len .Hyphae}}
+ This page lists all hyphae in the category.
+ {{else}}
+ This category has no hyphae.
+ {{end}}
+
+
+{{end}}
\ No newline at end of file
diff --git a/web/categories.go b/web/categories.go
index 930cb03..8202010 100644
--- a/web/categories.go
+++ b/web/categories.go
@@ -18,7 +18,7 @@ func handlerCategory(w http.ResponseWriter, rq *http.Request) {
var (
catName = util.HyphaNameFromRq(rq, "category")
)
- views.CategoryPageHTML(w, rq, catName)
+ views.CategoryPageHTML(views.MetaFrom(w, rq), catName)
}
func handlerRemoveFromCategory(w http.ResponseWriter, rq *http.Request) {