From e670cefb34a83eafc78bc3b6ab193c850b551aee Mon Sep 17 00:00:00 2001 From: Christoph Hagen Date: Tue, 7 Jan 2025 14:04:14 +0100 Subject: [PATCH] Fix CSS header selection --- .../Page Generators/FeedPageGenerator.swift | 2 +- .../Generator/Page Generators/PageGenerator.swift | 2 +- .../Page Generators/TagOverviewGenerator.swift | 2 +- CHDataManagement/Model/Content+Generation.swift | 14 +++++++++++--- 4 files changed, 14 insertions(+), 6 deletions(-) diff --git a/CHDataManagement/Generator/Page Generators/FeedPageGenerator.swift b/CHDataManagement/Generator/Page Generators/FeedPageGenerator.swift index cca95e6..bf8a18c 100644 --- a/CHDataManagement/Generator/Page Generators/FeedPageGenerator.swift +++ b/CHDataManagement/Generator/Page Generators/FeedPageGenerator.swift @@ -31,7 +31,7 @@ final class FeedPageGenerator { totalPages: Int, languageButtonUrl: String, linkPrefix: String) -> String { - var headers = content.defaultPageHeaders + var headers = content.postPageHeaders var footer = "" if posts.contains(where: { $0.images.count > 1 }) { // Sort swiper style sheet before default style sheet diff --git a/CHDataManagement/Generator/Page Generators/PageGenerator.swift b/CHDataManagement/Generator/Page Generators/PageGenerator.swift index 1a2fae4..f79c740 100644 --- a/CHDataManagement/Generator/Page Generators/PageGenerator.swift +++ b/CHDataManagement/Generator/Page Generators/PageGenerator.swift @@ -7,7 +7,7 @@ final class PageGenerator { } private func makeHeaders(requiredItems: Set, results: PageGenerationResults) -> Set { - var result = content.defaultPageHeaders + var result = content.contentPageHeaders for item in requiredItems { guard let header = item.header(content: content) else { results.warning("Header \(item) not configured in settings") diff --git a/CHDataManagement/Generator/Page Generators/TagOverviewGenerator.swift b/CHDataManagement/Generator/Page Generators/TagOverviewGenerator.swift index 9a2fd7c..7294f95 100644 --- a/CHDataManagement/Generator/Page Generators/TagOverviewGenerator.swift +++ b/CHDataManagement/Generator/Page Generators/TagOverviewGenerator.swift @@ -89,7 +89,7 @@ final class TagOverviewGenerator { description: localized.linkPreviewDescription, iconUrl: content.settings.navigation.localized(in: language).rootUrl, links: content.navigationBar(in: language), - headers: content.defaultPageHeaders, + headers: content.postPageHeaders, baseUrl: overview.absoluteUrl(in: language), localizedBaseUrl: overview.absoluteUrl(in: language.next)) diff --git a/CHDataManagement/Model/Content+Generation.swift b/CHDataManagement/Model/Content+Generation.swift index 6a267ce..83ddeb1 100644 --- a/CHDataManagement/Model/Content+Generation.swift +++ b/CHDataManagement/Model/Content+Generation.swift @@ -140,14 +140,22 @@ extension Content { } } - var defaultPageHeaders: Set { + private func pageHeaders(css: FileResource?) -> Set { var result: Set = [.charset, .viewport] - if let defaultCss = settings.posts.defaultCssFile { - result.insert(.css(file: defaultCss, order: HeaderElement.defaultCssFileOrder)) + if let css { + result.insert(.css(file: css, order: HeaderElement.defaultCssFileOrder)) } return result } + var postPageHeaders: Set { + pageHeaders(css: settings.posts.defaultCssFile) + } + + var contentPageHeaders: Set { + pageHeaders(css: settings.pages.defaultCssFile) + } + // MARK: Generation private func performGenerationIfIdle(_ operation: @escaping () -> ()) {