Import old content, load from disk
This commit is contained in:
@ -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()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user