From 33594e8b0a24f483353bdd3cfab3ee141ea3a60e Mon Sep 17 00:00:00 2001 From: Runxi Yu Date: Mon, 10 Feb 2025 13:01:17 +0800 Subject: [PATCH] index: List categories --- handle_index.go | 20 ++++++++++++++++++++ templates/index.html | 20 ++++++++++++++++++++ diff --git a/handle_index.go b/handle_index.go index b9a8a0c2556f16e58f8240a9d576ecbec71d8656..5d54e6a8ba8f82afffb4e1bf4da9291eb9548f02 100644 --- a/handle_index.go +++ b/handle_index.go @@ -2,7 +2,27 @@ package main import ( "net/http" + "os" ) func handle_index(w http.ResponseWriter, r *http.Request) { + data := make(map[string]any) + + entries, err := os.ReadDir(config.Git.Root) + if err != nil { + w.Write([]byte("Error listing categories: " + err.Error())) + return + } + + categories := []string{} + for _, entry := range entries { + categories = append(categories, entry.Name()) + } + data["categories"] = categories + + err = templates.ExecuteTemplate(w, "index", data) + if err != nil { + w.Write([]byte("Error rendering template: " + err.Error())) + return + } } diff --git a/templates/index.html b/templates/index.html new file mode 100644 index 0000000000000000000000000000000000000000..219ae09d1ebe0a2c834848c0a1aedc68a4913134 --- /dev/null +++ b/templates/index.html @@ -0,0 +1,20 @@ +{{- define "index" -}} + + + + +Forge + + +
+ +
+ + +{{- end -}} -- 2.48.1