package main

import (
    "bytes"
    "html/template"
    "path/filepath"
    "regexp"
)

var TMPL map[string][]byte

func generateTmpl() {
    files, _ := filepath.Glob("html/*.html")
    re := regexp.MustCompile("html/(.+).html")
    pages := make([]string, len(files))

    for i, f := range files {
        pages[i] = re.FindStringSubmatch(f)[1]
    }
    TMPL = make(map[string][]byte, len(files))
    for i, f := range files {
        b := new(bytes.Buffer)
        t, _ := template.ParseFiles(f)
        t.ParseGlob("tmpl/*.tmpl")
        t.Execute(b, map[string]any{
            "page": pages[i],
            "pages": pages,
        })
        TMPL[pages[i]] = b.Bytes()
    }
}
