aboutsummaryrefslogtreecommitdiff
path: root/handle_index.go
diff options
context:
space:
mode:
authorRunxi Yu <me@runxiyu.org>2025-02-10 13:01:17 +0800
committerRunxi Yu <me@runxiyu.org>2025-02-10 13:01:17 +0800
commit33594e8b0a24f483353bdd3cfab3ee141ea3a60e (patch)
tree6aec3ae1dbf16eb9ddf10efeb97b206382046273 /handle_index.go
parentrepo_tree_{dir,file}: Fix body class (diff)
downloadforge-33594e8b0a24f483353bdd3cfab3ee141ea3a60e.tar.gz
forge-33594e8b0a24f483353bdd3cfab3ee141ea3a60e.tar.zst
forge-33594e8b0a24f483353bdd3cfab3ee141ea3a60e.zip
index: List categories
Diffstat (limited to '')
-rw-r--r--handle_index.go20
1 files changed, 20 insertions, 0 deletions
diff --git a/handle_index.go b/handle_index.go
index b9a8a0c..5d54e6a 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
+ }
}