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.id)" } func image(_ imageId: String) -> FileResource? { files.first { $0.id == imageId } } func imageLink(imageId: String) { } func file(id: String) -> FileResource? { files.first { $0.id == id } } }