Generate first tag pages

This commit is contained in:
Christoph Hagen
2024-12-09 17:47:03 +01:00
parent 4f08526978
commit 8183bc4903
35 changed files with 719 additions and 1105 deletions

View File

@ -2,20 +2,20 @@ import Foundation
extension Content {
func saveToDisk() {
func saveToDisk() throws {
//print("Starting save")
for page in pages {
storage.save(pageMetadata: page.pageFile, for: page.id)
try storage.save(pageMetadata: page.pageFile, for: page.id)
}
for post in posts {
storage.save(post: post.postFile, for: post.id)
try storage.save(post: post.postFile, for: post.id)
}
for tag in tags {
storage.save(tagMetadata: tag.tagFile, for: tag.id)
try storage.save(tagMetadata: tag.tagFile, for: tag.id)
}
storage.save(settings: settings.file)
try storage.save(settings: settings.file)
let fileDescriptions: [FileDescriptions] = files.sorted().compactMap { file in
guard !file.englishDescription.isEmpty || !file.germanDescription.isEmpty else {
@ -27,22 +27,19 @@ extension Content {
english: file.englishDescription.nonEmpty)
}
storage.save(fileDescriptions: fileDescriptions)
try storage.save(fileDescriptions: fileDescriptions)
do {
try storage.deletePostFiles(notIn: posts.map { $0.id })
try storage.deletePageFiles(notIn: pages.map { $0.id })
try storage.deleteTagFiles(notIn: tags.map { $0.id })
try storage.deleteFiles(notIn: files.map { $0.id })
try storage.deleteFileResources(notIn: files.map { $0.id })
} catch {
print("Failed to remove unused files: \(error)")
}
// TODO: Remove all files that are no longer in use (they belong to deleted items)
//print("Finished save")
}
}
private extension Page {
var pageFile: PageFile {