Add empty page text, playlist text to settings

This commit is contained in:
Christoph Hagen
2025-01-07 11:26:59 +01:00
parent 9f120b251f
commit 9d95e7d210
23 changed files with 266 additions and 94 deletions

View File

@ -8,9 +8,12 @@ struct AudioPlayerCommand: CommandProcessor {
let results: PageGenerationResults
let language: ContentLanguage
init(content: Content, results: PageGenerationResults, language: ContentLanguage) {
self.content = content
self.results = results
self.language = language
}
func process(_ arguments: [String], markdown: Substring) -> String {
@ -104,6 +107,9 @@ struct AudioPlayerCommand: CommandProcessor {
.audioPlayerPause
)
return AudioPlayer(playingText: titleText, items: playlist).content
return AudioPlayer(
playlistText: content.settings.audioPlayer.localized(in: language).playlistText,
playingText: titleText,
items: playlist).content
}
}

View File

@ -19,19 +19,10 @@ final class PageGenerator {
}
private func makeEmptyPageContent(in language: ContentLanguage) -> String {
#warning("Configure empty page text in settings")
switch language {
case .english:
return ContentBox(
title: "Content not available",
text: "This page is not available yet. Try the German version or check back later.")
.content
case .german:
return ContentBox(
title: "Inhalt nicht verfügbar",
text: "Diese Seite ist noch nicht verfügbar. Versuche die englische Version oder komm später hierher zurück.")
.content
}
let settings = content.settings.pages.localized(in: language)
return ContentBox(
title: settings.emptyPageTitle,
text: settings.emptyPageText).content
}
func generate(page: Page, language: ContentLanguage, results: PageGenerationResults) -> String? {

View File

@ -16,18 +16,18 @@ struct FeedGeneratorSource: PostListPageGeneratorSource {
}
var pageTitle: String {
content.settings.localized(in: language).title
content.settings.posts.localized(in: language).title
}
var pageDescription: String {
content.settings.localized(in: language).description
content.settings.posts.localized(in: language).description
}
/**
The url to the page, including a leading slash
*/
func pageUrlPrefix(for language: ContentLanguage) -> String {
let prefix = content.settings.localized(in: language).feedUrlPrefix
let prefix = content.settings.posts.localized(in: language).feedUrlPrefix
if prefix.hasPrefix( "/" ) {
return prefix
}

View File

@ -46,7 +46,7 @@ final class PostListPageGenerator {
let linkUrl = post.linkedPage.map {
FeedEntryData.Link(
url: $0.absoluteUrl(in: language),
text: localized.pageLinkText ?? post.content.settings.localized(in: language).defaultPageLinkText)
text: localized.pageLinkText ?? post.content.settings.posts.localized(in: language).defaultPageLinkText)
}
// Use the tags of the page if one is linked