From a471baf6ee1b1a05acec23f2de1b74f56f4596a5 Mon Sep 17 00:00:00 2001 From: Anhgelus Morhtuuzh Date: Thu, 2 Oct 2025 17:21:21 +0200 Subject: feat(backend): handle home --- backend/data.go | 17 +++++++++++++++++ backend/home.go | 18 ++++++++++++++++++ backend/router.go | 9 +++------ backend/templates/base.html | 38 ++++++++++++++++++++++++++++++++++++++ backend/templates/home.html | 35 +++++++++++++++++++++++++++++++++++ main.go | 2 ++ 6 files changed, 113 insertions(+), 6 deletions(-) create mode 100644 backend/data.go create mode 100644 backend/home.go create mode 100644 backend/templates/base.html create mode 100644 backend/templates/home.html diff --git a/backend/data.go b/backend/data.go new file mode 100644 index 0000000..adf5db3 --- /dev/null +++ b/backend/data.go @@ -0,0 +1,17 @@ +package backend + +type data struct { + title string + Article bool +} + +func (d data) Title() string { + title := "anhgelus" + if d.Article { + title += " - log entry" + } + if len(d.title) != 0 { + title += " - " + d.title + } + return title +} diff --git a/backend/home.go b/backend/home.go new file mode 100644 index 0000000..8577fec --- /dev/null +++ b/backend/home.go @@ -0,0 +1,18 @@ +package backend + +import ( + "html/template" + "net/http" + + "github.com/go-chi/chi/v5" +) + +func HandleHome(r *chi.Mux) { + r.Get("/", func(w http.ResponseWriter, r *http.Request) { + t := template.Must(template.ParseFS(templates, "templates/home.html", "templates/base.html")) + err := t.ExecuteTemplate(w, "base.html", &data{}) + if err != nil { + panic(err) + } + }) +} diff --git a/backend/router.go b/backend/router.go index f5d0cc6..b1efea8 100644 --- a/backend/router.go +++ b/backend/router.go @@ -11,18 +11,15 @@ import ( "github.com/go-chi/chi/v5/middleware" ) +//go:embed templates +var templates embed.FS + func NewRouter() *chi.Mux { r := chi.NewRouter() r.Use(middleware.Timeout(30 * time.Second)) r.Use(middleware.Logger) - r.Get("/", func(w http.ResponseWriter, r *http.Request) { - _, err := w.Write([]byte("Hello World")) - if err != nil { - panic(err) - } - }) return r } diff --git a/backend/templates/base.html b/backend/templates/base.html new file mode 100644 index 0000000..c994cac --- /dev/null +++ b/backend/templates/base.html @@ -0,0 +1,38 @@ + + + + + + {{ .Title }} + + + +
+ pfp + +
+{{ if .Article }} +
+ {{ template "body" . }} +
+{{ else }} +
+ {{ template "body" . }} +
+{{ end }} + + + \ No newline at end of file diff --git a/backend/templates/home.html b/backend/templates/home.html new file mode 100644 index 0000000..ed450ac --- /dev/null +++ b/backend/templates/home.html @@ -0,0 +1,35 @@ +{{define "body"}} +
+

logs

+

+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magnam aliquam quaerat voluptatem. Ut enim aeque doleamus animo, cum corpore dolemus, fieri tamen permagna accessio potest, si aliquod aeternum et infinitum impendere. +

+
+
+
+

Article title

+
+ +
A placeholder.
+
+

+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magnam aliquam quaerat voluptatem. Ut enim aeque doleamus animo, cum corpore dolemus, fieri tamen permagna accessio potest, si aliquod aeternum et infinitum impendere malum nobis opinemur. +

+
+
+

Article title

+
+ +
A placeholder.
+
+

+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magnam aliquam quaerat voluptatem. Ut enim aeque doleamus animo, cum corpore dolemus, fieri tamen permagna accessio potest, si aliquod aeternum et infinitum impendere malum nobis opinemur. +

+
+ +
+{{end}} \ No newline at end of file diff --git a/main.go b/main.go index 2d943cd..11ebbe7 100644 --- a/main.go +++ b/main.go @@ -56,6 +56,8 @@ func main() { r := backend.NewRouter() + backend.HandleHome(r) + backend.HandleStaticFiles(r, "/assets", backend.UsableEmbedFS("dist", embeds)) backend.HandleStaticFiles(r, "/static", os.DirFS(publicDir)) -- cgit v1.2.3