krz/gitbay
A CLI-first git forge.
clone: git clone https://gitbay.org/krz/gitbay.git
main: internal/web/web.go · raw
1// Package web holds the server-rendered templates and static assets for the
2// read-only UI. No JavaScript, no build step.
3package web
4
5import (
6 "embed"
7 "html/template"
8 "io"
9)
10
11//go:embed templates/*.html
12var templateFS embed.FS
13
14//go:embed static/style.css
15var StyleCSS []byte
16
17// Render executes the named page template with the shared layout.
18func Render(w io.Writer, page string, data any) error {
19 t, err := template.Must(
20 template.ParseFS(templateFS, "templates/layout.html"),
21 ).ParseFS(templateFS, "templates/"+page)
22 if err != nil {
23 return err
24 }
25 return t.ExecuteTemplate(w, "layout", data)
26}