Fix CSS header selection

This commit is contained in:
Christoph Hagen 2025-01-07 14:04:14 +01:00
parent acd0902869
commit e670cefb34
4 changed files with 14 additions and 6 deletions

View File

@ -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

View File

@ -7,7 +7,7 @@ final class PageGenerator {
}
private func makeHeaders(requiredItems: Set<KnownHeaderElement>, results: PageGenerationResults) -> Set<HeaderElement> {
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")

View File

@ -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))

View File

@ -140,14 +140,22 @@ extension Content {
}
}
var defaultPageHeaders: Set<HeaderElement> {
private func pageHeaders(css: FileResource?) -> Set<HeaderElement> {
var result: Set<HeaderElement> = [.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<HeaderElement> {
pageHeaders(css: settings.posts.defaultCssFile)
}
var contentPageHeaders: Set<HeaderElement> {
pageHeaders(css: settings.pages.defaultCssFile)
}
// MARK: Generation
private func performGenerationIfIdle(_ operation: @escaping () -> ()) {