add gemlog

This commit is contained in:
Travis Shears 2025-10-05 17:01:13 +02:00
parent 93cdcef885
commit 5c94a3820a
10 changed files with 145 additions and 30 deletions

14
main.go
View file

@ -10,14 +10,16 @@ import (
"strings"
"time"
"gemini_site/internal/microblog"
gemlog "gemini_site/internal/gemlog"
microblog "gemini_site/internal/microblog"
"gemini_site/internal/pocketbase"
gemini "github.com/kulak/gemini"
)
type MainHandler struct {
blog microblog.Handler
blog microblog.Handler
gemlog gemlog.Handler
}
func (h MainHandler) ServeGemini(w gemini.ResponseWriter, req *gemini.Request) {
@ -31,6 +33,11 @@ func (h MainHandler) ServeGemini(w gemini.ResponseWriter, req *gemini.Request) {
return
}
if strings.HasPrefix(req.URL.Path, "/gemlog") {
h.gemlog.HandleRequest(w, req)
return
}
switch req.URL.Path {
case "/":
gemini.ServeFileName("pages/home.gmi", "text/gemini")(w, req)
@ -105,7 +112,8 @@ func main() {
pbClient := pocketbase.NewPocketBaseClient()
handler := MainHandler{
blog: microblog.NewHandler(pbClient),
blog: microblog.NewHandler(pbClient),
gemlog: gemlog.NewHandler(),
}
err := gemini.ListenAndServe(host, cert, key, gemini.TrapPanic(handler.ServeGemini))