feat: image gallery (#2)
/ publish (push) Successful in 4m4s

Reviewed-on: #2
This commit was merged in pull request #2.
This commit is contained in:
2026-06-01 14:07:50 +02:00
parent ee3eba3cd9
commit 763163c24e
30 changed files with 513 additions and 44 deletions
+14 -3
View File
@@ -3,12 +3,15 @@ package server
import (
"fmt"
"net/http"
"path"
"time"
"git.schreifuchs.ch/schreifuchs/schreifuchs.ch/internal/components/gallery"
"git.schreifuchs.ch/schreifuchs/schreifuchs.ch/internal/components/images"
"git.schreifuchs.ch/schreifuchs/schreifuchs.ch/internal/components/page"
"git.schreifuchs.ch/schreifuchs/schreifuchs.ch/internal/components/translate"
"git.schreifuchs.ch/schreifuchs/schreifuchs.ch/internal/handlers/rest"
"git.schreifuchs.ch/schreifuchs/schreifuchs.ch/internal/handlers/restgallery"
"git.schreifuchs.ch/schreifuchs/schreifuchs.ch/internal/handlers/resthome"
"git.schreifuchs.ch/schreifuchs/schreifuchs.ch/internal/handlers/restimage"
"git.schreifuchs.ch/schreifuchs/schreifuchs.ch/internal/pkg/filesystem"
@@ -59,11 +62,12 @@ func (s *Server) dynamicRoutes() (h http.Handler, err error) {
}
if err != nil {
} else {
fs = filesystem.NewCachedClient(webdavClient, valkeyClient, 5*time.Hour)
fs = filesystem.NewCachedClient(webdavClient, valkeyClient, s.cfg.Cache.RefreshTime, s.cfg.Cache.LifeTime)
}
imageSrv := images.New(fs, s.cfg.Image, valkeyClient)
mux.Handle("/images/", rest.Use(
restimage.New(images.New(fs, s.cfg.Image, valkeyClient)),
restimage.New(imageSrv),
middleware.Cache(time.Hour*24*5),
))
@@ -71,7 +75,14 @@ func (s *Server) dynamicRoutes() (h http.Handler, err error) {
renderer := layouts.New(s.cfg)
mux.Handle("/", rest.Use(
resthome.New(renderer, page.New(fs)),
func() http.Handler {
mux := http.NewServeMux()
mux.Handle(path.Join("/"+s.cfg.Gallery.Path), restgallery.New(renderer, gallery.New(fs, s.cfg.Gallery, imageSrv, valkeyClient), s.cfg.Gallery))
mux.Handle("/", resthome.New(renderer, page.New(fs)))
return mux
}(),
translator.Middleware,
middleware.Cache(time.Minute),
))