Generate pages, image descriptions
This commit is contained in:
44
CHDataManagement/Model/Content+Generation.swift
Normal file
44
CHDataManagement/Model/Content+Generation.swift
Normal 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 }
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user