Determine required files from custom HTML

This commit is contained in:
Christoph Hagen
2025-07-12 09:22:33 +02:00
parent ba6097a67b
commit 43b761b593
5 changed files with 53 additions and 7 deletions

View File

@@ -94,6 +94,10 @@ final class PageGenerationResults: ObservableObject {
@Published
private(set) var unsavedOutputFiles: [String: Set<ItemReference>] = [:]
/// The files that need to be present in the output folder
@Published
private(set) var requiredOutputFiles: [String: Set<String>] = [:]
private(set) var pageIsEmpty: Bool
private(set) var redirect: (originalUrl: String, newUrl: String)?
@@ -120,6 +124,7 @@ final class PageGenerationResults: ObservableObject {
invalidBlocks = []
warnings = []
unsavedOutputFiles = [:]
requiredOutputFiles = [:]
pageIsEmpty = false
redirect = nil
}
@@ -151,6 +156,7 @@ final class PageGenerationResults: ObservableObject {
self.invalidBlocks = []
self.warnings = []
self.unsavedOutputFiles = [:]
self.requiredOutputFiles = [:]
self.pageIsEmpty = false
self.redirect = nil
}
@@ -258,6 +264,11 @@ final class PageGenerationResults: ObservableObject {
onMain { self.requiredIcons.formUnion(icons) }
}
func requiredOutput(_ path: String, source: String) {
onMain { self.requiredOutputFiles[path, default: []].insert(source) }
delegate.requiredOutputFile(path)
}
func linked(to page: Page) {
onMain { self.linkedPages.insert(page) }
}