44 lines
1.0 KiB
Swift
44 lines
1.0 KiB
Swift
import Foundation
|
|
|
|
final class Settings: ObservableObject {
|
|
|
|
@Published
|
|
var paths: PathSettings
|
|
|
|
/// The tags to show in the navigation bar
|
|
@Published
|
|
var navigationTags: [Tag]
|
|
|
|
@Published
|
|
var posts: PostSettings
|
|
|
|
@Published
|
|
var pages: PageSettings
|
|
|
|
@Published
|
|
var german: LocalizedPostSettings
|
|
|
|
@Published
|
|
var english: LocalizedPostSettings
|
|
|
|
init(paths: PathSettings, navigationTags: [Tag], posts: PostSettings, pages: PageSettings, german: LocalizedPostSettings, english: LocalizedPostSettings) {
|
|
self.paths = paths
|
|
self.navigationTags = navigationTags
|
|
self.posts = posts
|
|
self.pages = pages
|
|
self.german = german
|
|
self.english = english
|
|
}
|
|
|
|
func localized(in language: ContentLanguage) -> LocalizedPostSettings {
|
|
switch language {
|
|
case .english: return english
|
|
case .german: return german
|
|
}
|
|
}
|
|
|
|
var outputDirectory: URL {
|
|
URL(fileURLWithPath: paths.outputDirectoryPath)
|
|
}
|
|
}
|