|
|
- package Webserver
-
- import (
- "html/template"
- "net/http"
- "path"
-
- "PersonalWebsite/Helper"
- )
-
- type Unauthenticated struct {
- FlashMsg string
- }
-
- var (
- partials = []string{
- "html/header.gohtml",
- "html/sidebar.gohtml",
- }
- )
-
- func ServeTemplate(w http.ResponseWriter, r *http.Request, mainFile string, v map[string]interface{}) {
- var (
- tpl *template.Template
- files []string
- e error
- )
-
- v["test"] = "Yeet"
-
- files = []string{webRootJoin(mainFile)}
- for _, p := range partials {
- files = append(files, webRootJoin(p))
- }
-
- tpl, e = template.New(path.Base(files[0])).Funcs(
- template.FuncMap{
- "FormatTimestamp": Helper.FormatTimestamp,
- },
- ).ParseFiles(files...)
- if e != nil {
- // TODO: Handle this
- panic(e)
- }
-
- w.Header().Set("Content-type", "text/html")
- e = tpl.Execute(w, v)
- if e != nil {
- // TODO: Handle this
- panic(e)
- }
- }
|