Generate pages, image descriptions

This commit is contained in:
Christoph Hagen
2024-12-06 21:59:36 +01:00
parent 18eb64f289
commit 5fb689ac7c
42 changed files with 1653 additions and 273 deletions

View File

@@ -0,0 +1,44 @@
extension Content {
func pageLink(_ page: Page, language: ContentLanguage) -> String {
// TODO: Record link to trace connections between pages
var prefix = settings.pages.pageUrlPrefix
if !prefix.hasPrefix("/") {
prefix = "/" + prefix
}
if !prefix.hasSuffix("/") {
prefix.append("/")
}
return prefix + page.localized(in: language).urlString
}
func pageLink(pageId: String, language: ContentLanguage) -> String? {
guard let page = pages.first(where: { $0.id == pageId }) else {
// TODO: Note missing link
print("Missing page \(pageId) linked")
return nil
}
return pageLink(page, language: language)
}
func pathToFile(_ fileId: String) -> String? {
guard let file = file(id: fileId) else {
return nil
}
#warning("Add files path to settings")
return "/files/\(file.uniqueId)"
}
func image(_ imageId: String) -> ImageResource? {
images.first { $0.id == imageId }
}
func imageLink(imageId: String) {
}
func file(id: String) -> FileResource? {
files.first { $0.id == id }
}
}