Add title suffix, extract HTML elements
Fix header calls
This commit is contained in:
12
WebsiteGenerator/Generators/HTMLElementsGenerator.swift
Normal file
12
WebsiteGenerator/Generators/HTMLElementsGenerator.swift
Normal file
@ -0,0 +1,12 @@
|
||||
import Foundation
|
||||
|
||||
struct HTMLElementsGenerator {
|
||||
|
||||
init() {
|
||||
|
||||
}
|
||||
|
||||
func make(title: String, suffix: String) -> String {
|
||||
"\(title)<span class=\"suffix\">\(suffix)</span>"
|
||||
}
|
||||
}
|
@ -20,7 +20,7 @@ struct IndexPageGenerator {
|
||||
content[.head] = factory.pageHead.generate(page: site, language: language)
|
||||
content[.topBar] = factory.topBar.generate(sectionUrl: nil, languageButton: languageButton)
|
||||
content[.contentClass] = "overview"
|
||||
content[.header] = makeHeader(localized: localized)
|
||||
content[.header] = makeHeader(page: site, metadata: localized, language: language)
|
||||
content[.content] = factory.overviewSection.generate(
|
||||
sections: site.elements,
|
||||
in: site,
|
||||
@ -33,12 +33,8 @@ struct IndexPageGenerator {
|
||||
log.add(info: "Generated \(url.lastPathComponent)", source: site.path)
|
||||
}
|
||||
|
||||
private func makeHeader(localized: Element.LocalizedMetadata) -> String {
|
||||
var content = [HeaderKey : String]()
|
||||
content[.title] = localized.title
|
||||
#warning("Add title suffix")
|
||||
content[.subtitle] = localized.subtitle
|
||||
content[.titleText] = localized.description
|
||||
private func makeHeader(page: Element, metadata: Element.LocalizedMetadata, language: String) -> String {
|
||||
let content = factory.makeHeaderContent(page: page, metadata: metadata, language: language)
|
||||
return factory.factory.centeredHeader.generate(content)
|
||||
}
|
||||
}
|
||||
|
@ -24,7 +24,7 @@ struct OverviewPageGenerator {
|
||||
sectionUrl: section.sectionUrl(for: language),
|
||||
languageButton: languageButton)
|
||||
content[.contentClass] = "overview"
|
||||
content[.header] = makeHeader(metadata: metadata, language: language, backText: backLinkText)
|
||||
content[.header] = makeHeader(page: section, metadata: metadata, language: language)
|
||||
content[.content] = makeContent(section: section, language: language)
|
||||
content[.footer] = section.customFooterContent()
|
||||
guard factory.page.generate(content, to: url) else {
|
||||
@ -45,15 +45,8 @@ struct OverviewPageGenerator {
|
||||
}
|
||||
}
|
||||
|
||||
private func makeHeader(metadata: Element.LocalizedMetadata,
|
||||
language: String,
|
||||
backText: String?) -> String {
|
||||
var content = [HeaderKey : String]()
|
||||
content[.title] = metadata.title
|
||||
#warning("Add title suffix")
|
||||
content[.subtitle] = metadata.subtitle
|
||||
content[.titleText] = metadata.description
|
||||
content[.backLink] = backText.unwrapped { factory.makeBackLink(text: $0, language: language) }
|
||||
private func makeHeader(page: Element, metadata: Element.LocalizedMetadata, language: String) -> String {
|
||||
let content = factory.makeHeaderContent(page: page, metadata: metadata, language: language)
|
||||
return factory.factory.centeredHeader.generate(content)
|
||||
}
|
||||
}
|
||||
|
@ -61,21 +61,8 @@ struct PageGenerator {
|
||||
}
|
||||
|
||||
private func makeHeader(page: Element, metadata: Element.LocalizedMetadata, language: String) -> String {
|
||||
let backText = page.backLinkText(for: language)
|
||||
|
||||
var content = [HeaderKey : String]()
|
||||
content[.backLink] = factory.makeBackLink(text: backText, language: language)
|
||||
if let suffix = metadata.titleSuffix {
|
||||
content[.title] = make(title: metadata.title, suffix: suffix)
|
||||
} else {
|
||||
content[.title] = metadata.title
|
||||
}
|
||||
content[.subtitle] = metadata.subtitle
|
||||
content[.date] = factory.makeDateString(start: page.date, end: page.endDate)
|
||||
let content = factory.makeHeaderContent(page: page, metadata: metadata, language: language)
|
||||
return factory.factory.leftHeader.generate(content)
|
||||
}
|
||||
|
||||
private func make(title: String, suffix: String) -> String {
|
||||
"\(title)<span class=\"suffix\">\(suffix)</span>"
|
||||
}
|
||||
}
|
||||
|
@ -16,7 +16,7 @@ struct ThumbnailListGenerator {
|
||||
private func itemContent(_ item: Element, parent: Element, language: String, style: ThumbnailStyle) -> String {
|
||||
let fullThumbnailPath = item.thumbnailFilePath(for: language)
|
||||
let relativeImageUrl = parent.relativePathToFileWithPath(fullThumbnailPath)
|
||||
|
||||
let metadata = item.localized(for: language)
|
||||
var content = [ThumbnailKey : String]()
|
||||
|
||||
if item.state.hasThumbnailLink {
|
||||
@ -27,8 +27,11 @@ struct ThumbnailListGenerator {
|
||||
}
|
||||
|
||||
content[.image] = relativeImageUrl
|
||||
content[.title] = item.title(for: language)
|
||||
#warning("Generate thumbnail suffix")
|
||||
if style == .large, let suffix = metadata.thumbnailSuffix {
|
||||
content[.title] = factory.html.make(title: metadata.title, suffix: suffix)
|
||||
} else {
|
||||
content[.title] = metadata.title
|
||||
}
|
||||
content[.image2x] = relativeImageUrl.insert("@2x", beforeLast: ".")
|
||||
content[.corner] = item.cornerText(for: language).unwrapped {
|
||||
factory.largeThumbnail.makeCorner(text: $0)
|
||||
|
Reference in New Issue
Block a user