Fix id of Items, saving

This commit is contained in:
Christoph Hagen
2025-06-11 08:19:44 +02:00
parent 5970ce2e9f
commit 1d0eba9d78
64 changed files with 233 additions and 217 deletions

View File

@ -37,7 +37,7 @@ struct GalleryBlock: BlockLineProcessor {
$0.imageSet(width: imageWidth, height: imageWidth, language: language)
}
imageSets.forEach(results.require)
let id = firstImage.id.replacingOccurrences(of: ".", with: "-")
let id = firstImage.identifier.replacingOccurrences(of: ".", with: "-")
let gallery = ImageGallery(id: id, images: imageSets, standalone: true)
results.require(footer: gallery.standaloneFooter)
results.require(headers: .swiperJs, .swiperCss)

View File

@ -50,7 +50,7 @@ struct PhoneScreensBlock: OrderedKeyBlockProcessor {
}
if key == .tall {
if tall != nil {
print("Another tall image: \(file.id)")
print("Another tall image: \(file.identifier)")
invalid(markdown)
return ""
}
@ -69,7 +69,7 @@ struct PhoneScreensBlock: OrderedKeyBlockProcessor {
}
// key == .wide
if wide != nil {
print("Another wide image: \(file.id)")
print("Another wide image: \(file.identifier)")
invalid(markdown)
return ""
}

View File

@ -185,7 +185,7 @@ struct HtmlCommand: CommandProcessor {
results.missing(file: fileId, source: "HTML: \(source)")
return
}
results.warning("Could not determine image version for file '\(file.id)' for \(source)")
results.warning("Could not determine image version for file '\(file.identifier)' for \(source)")
}
private func findFileWith(relativePath: String, type: FileType, source: String) {

View File

@ -58,19 +58,19 @@ final class ImageGenerator {
}
guard let data = version.image.dataContent() else {
print("ImageGenerator: Failed to load data for image \(version.image.id)")
print("ImageGenerator: Failed to load data for image \(version.image.identifier)")
return false
}
guard let originalImage = NSImage(data: data) else {
print("ImageGenerator: Failed to load image \(version.image.id)")
print("ImageGenerator: Failed to load image \(version.image.identifier)")
return false
}
let representation = create(image: originalImage, width: CGFloat(version.maximumWidth), height: CGFloat(version.maximumHeight))
guard let data = create(image: representation, type: version.type, quality: version.quality) else {
print("ImageGenerator: Failed to get data for type \(version.type) of image \(version.image.id)")
print("ImageGenerator: Failed to get data for type \(version.type) of image \(version.image.identifier)")
return false
}
@ -161,7 +161,7 @@ final class ImageGenerator {
process.waitUntilExit()
if process.terminationStatus != 0 {
print("ImageGenerator: Failed to create AVIF image \(version.image.id)")
print("ImageGenerator: Failed to create AVIF image \(version.image.identifier)")
let outputData = pipe.fileHandleForReading.readDataToEndOfFile()
let outputString = String(data: outputData, encoding: .utf8) ?? ""
print(outputString)

View File

@ -56,14 +56,14 @@ struct ImageVersion {
extension ImageVersion: Identifiable {
var id: String {
image.id + "-" + versionId
image.identifier + "-" + versionId
}
}
extension ImageVersion: Equatable {
static func == (lhs: ImageVersion, rhs: ImageVersion) -> Bool {
lhs.image.id == rhs.image.id &&
lhs.image.identifier == rhs.image.identifier &&
lhs.maximumWidth == rhs.maximumWidth &&
lhs.maximumHeight == rhs.maximumHeight &&
lhs.type == rhs.type
@ -73,7 +73,7 @@ extension ImageVersion: Equatable {
extension ImageVersion: Hashable {
func hash(into hasher: inout Hasher) {
hasher.combine(image.id)
hasher.combine(image.identifier)
hasher.combine(maximumWidth)
hasher.combine(maximumHeight)
hasher.combine(type)

View File

@ -33,7 +33,7 @@ final class PageGenerator {
language: language, results: results)
let rawPageContent: String
if let existing = content.storage.pageContent(for: page.id, language: language) {
if let existing = content.storage.pageContent(for: page.identifier, language: language) {
rawPageContent = existing
} else {
rawPageContent = makeEmptyPageContent(in: language)

View File

@ -44,7 +44,7 @@ struct PostContentGenerator {
}
private var postDescription: String {
"content of post \(post.id) (\(language.shortText))"
"content of post \(post.identifier) (\(language.shortText))"
}
private func handleLink(

View File

@ -95,7 +95,7 @@ final class PostListPageGenerator {
post: post).generate()
return FeedEntryData(
entryId: post.id,
entryId: post.identifier,
title: localized.title,
textAboveTitle: post.dateText(in: language),
link: linkUrl,

View File

@ -161,7 +161,7 @@ final class GenerationResults: ObservableObject {
update { self.unsavedOutputFiles = unsavedOutputFiles }
let emptyPages = cache.values.filter { $0.pageIsEmpty }.map { $0.itemId }.compactMap { id -> LocalizedPageId? in
guard case .page(let page) = id.itemType else { return nil }
return LocalizedPageId(language: id.language, pageId: page.id)
return LocalizedPageId(language: id.language, pageId: page.identifier)
}.asSet()
update { self.emptyPages = emptyPages }
let redirects = cache.values.compactMap { $0.redirect }.reduce(into: [:]) { $0[$1.originalUrl] = $1.newUrl }

View File

@ -11,7 +11,7 @@ extension ImageToGenerate: Hashable {
func hash(into hasher: inout Hasher) {
hasher.combine(size)
hasher.combine(image.id)
hasher.combine(image.identifier)
}
}
@ -284,7 +284,7 @@ final class PageGenerationResults: ObservableObject {
func markPageAsEmpty() {
guard case .page(let page) = itemId.itemType else { return }
onMain { self.pageIsEmpty = true }
delegate.empty(.init(language: itemId.language, pageId: page.id))
delegate.empty(.init(language: itemId.language, pageId: page.identifier))
}
func redirect(from originalUrl: String, to newUrl: String) {