Rework storage structs, link preview

This commit is contained in:
Christoph Hagen
2025-01-08 14:59:04 +01:00
parent b99c064d10
commit a7197b9628
75 changed files with 1365 additions and 1454 deletions

View File

@ -38,9 +38,14 @@ struct PageLinkCommand: CommandProcessor {
let localized = page.localized(in: language)
let url = page.absoluteUrl(in: language)
let title = localized.linkPreviewTitle ?? localized.title
let description = localized.linkPreviewDescription ?? ""
let image = makePageImage(item: localized)
let title = localized.linkPreview.title ?? localized.title
let description = localized.linkPreview.description ?? ""
let image = localized.linkPreview.image.map {
let size = content.settings.pages.pageLinkImageSize
let imageSet = $0.imageSet(width: size, height: size, language: language)
results.require(imageSet: imageSet)
return imageSet
}
return RelatedPageLink(
title: title,
@ -49,13 +54,4 @@ struct PageLinkCommand: CommandProcessor {
image: image)
.content
}
private func makePageImage(item: LinkPreviewItem) -> ImageSet? {
item.linkPreviewImage.map { image in
let size = content.settings.pages.pageLinkImageSize
let imageSet = image.imageSet(width: size, height: size, language: language)
results.require(imageSet: imageSet)
return imageSet
}
}
}

View File

@ -33,8 +33,13 @@ struct TagLinkCommand: CommandProcessor {
let localized = tag.localized(in: language)
let url = tag.absoluteUrl(in: language)
let title = localized.name
let description = localized.linkPreviewDescription ?? ""
let image = makePageImage(item: localized)
let description = localized.linkPreview.description ?? ""
let image = localized.linkPreview.image.map {
let size = content.settings.pages.pageLinkImageSize
let imageSet = $0.imageSet(width: size, height: size, language: language)
results.require(imageSet: imageSet)
return imageSet
}
return RelatedPageLink(
title: title,
@ -43,13 +48,4 @@ struct TagLinkCommand: CommandProcessor {
image: image)
.content
}
private func makePageImage(item: LinkPreviewItem) -> ImageSet? {
item.linkPreviewImage.map { image in
let size = content.settings.pages.pageLinkImageSize
let imageSet = image.imageSet(width: size, height: size, language: language)
results.require(imageSet: imageSet)
return imageSet
}
}
}