feat: images

This commit is contained in:
2026-02-23 09:50:42 +01:00
parent 3f321f0836
commit 6f98d730bb
21 changed files with 518 additions and 29 deletions
+13 -7
View File
@@ -13,6 +13,7 @@ import (
"git.schreifuchs.ch/schreifuchs/schreifuchs.ch/internal/components/images"
"git.schreifuchs.ch/schreifuchs/schreifuchs.ch/internal/components/translate"
"git.schreifuchs.ch/schreifuchs/schreifuchs.ch/internal/filesystem"
"github.com/studio-b12/gowebdav"
)
@@ -34,25 +35,28 @@ func (s *Service) getPageHeaders(ctx context.Context, uid string) (page PageHead
lang := translate.Language(ctx)
var coverImage *gowebdav.File
var contentMD *gowebdav.File
var coverImage filesystem.FileInfo
var contentMD filesystem.FileInfo
for _, f := range info {
file := f.(gowebdav.File)
file, ok := f.(filesystem.FileInfo)
if !ok {
continue
}
if strings.HasPrefix(file.ContentType(), "image/") {
coverImage = &file
coverImage = file
}
parts := strings.Split(file.Name(), ".")
// fallback content
if contentMD == nil && len(parts) == 2 && parts[1] == "md" {
contentMD = &file
contentMD = file
}
// language content
if len(parts) == 3 && parts[1] == lang && parts[2] == "md" {
contentMD = &file
contentMD = file
}
}
@@ -71,7 +75,9 @@ func (s *Service) getPageHeaders(ctx context.Context, uid string) (page PageHead
page.UID = uid
page.Title = title[1]
page.CoverImageUID, err = images.UIDFromPath(coverImage.Path())
if coverImage != nil {
page.CoverImageUID, err = images.UIDFromPath(coverImage.Path())
}
return
}