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

@ -17,11 +17,23 @@ extension Content {
}
storage.save(settings: settings.file)
let imageDescriptions: [ImageDescriptions] = images.sorted().compactMap { image in
guard !image.englishDescription.isEmpty || !image.germanDescription.isEmpty else {
return nil
}
return ImageDescriptions(
imageId: image.id,
german: image.germanDescription.nonEmpty,
english: image.englishDescription.nonEmpty)
}
storage.save(imageDescriptions: imageDescriptions)
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 })
let allFiles = files.map { $0.uniqueId } + images.map { $0.id } + videos
let allFiles = files.map { $0.uniqueId } + images.map { $0.id }
try storage.deleteFiles(notIn: allFiles)
} catch {
print("Failed to remove unused files: \(error)")
@ -128,6 +140,7 @@ extension Settings {
outputDirectoryPath: outputDirectoryPath,
navigationBar: navigationBar.file,
posts: posts.file,
pages: pages.file,
german: german.file,
english: english.file)
}
@ -141,6 +154,14 @@ private extension PostSettings {
}
}
private extension PageSettings {
var file: PageSettingsFile {
.init(pageUrlPrefix: pageUrlPrefix,
contentWidth: contentWidth)
}
}
private extension LocalizedSettings {
var file: LocalizedSettingsFile {