feat: images
This commit is contained in:
@@ -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
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user