Import old content, load from disk

This commit is contained in:
Christoph Hagen
2024-11-18 20:19:20 +01:00
parent 0989f06d87
commit 943d8d962b
24 changed files with 1326 additions and 210 deletions

View File

@ -3,14 +3,18 @@ import Foundation
final class Tag: ObservableObject {
var id: String {
name.getText(for: .english).lowercased().replacingOccurrences(of: " ", with: "-")
english.urlComponent
}
@Published
var name: LocalizedText
var german: LocalizedTag
init(en: String, de: String) {
self.name = .init(en: en, de: de)
@Published
var english: LocalizedTag
init(german: LocalizedTag, english: LocalizedTag) {
self.german = german
self.english = english
}
var linkName: String {
@ -24,22 +28,13 @@ final class Tag: ObservableObject {
extension Tag {
func getUrl(for language: ContentLanguage) -> String {
"/\(language.rawValue)/tags/\(id).html"
}
func data(in language: ContentLanguage) -> FeedEntryData.Tag {
.init(
name: name.getText(for: language),
url: getUrl(for: language)
)
}
}
extension Tag: ExpressibleByStringLiteral {
convenience init(stringLiteral value: StringLiteralType) {
self.init(en: value.capitalized, de: value.capitalized)
switch language {
case .english:
return english.data()
case .german:
return german.data()
}
}
}