Add page settings, improve settings UI

This commit is contained in:
Christoph Hagen
2024-12-05 21:07:06 +01:00
parent f2d78aef93
commit 18eb64f289
17 changed files with 189 additions and 43 deletions

View File

@ -0,0 +1,17 @@
import Foundation
final class PageSettings: ObservableObject {
/// The prefix of the urls for all pages
/// The full path will be `<pagePrefix>/<page-url-component>`
@Published
var pageUrlPrefix: String
@Published
var contentWidth: Int
init(pageUrlPrefix: String, contentWidth: Int) {
self.pageUrlPrefix = pageUrlPrefix
self.contentWidth = contentWidth
}
}

View File

@ -8,9 +8,9 @@ final class PostSettings: ObservableObject {
/// The maximum width of the main content
@Published
var contentWidth: CGFloat
var contentWidth: Int
init(postsPerPage: Int, contentWidth: CGFloat) {
init(postsPerPage: Int, contentWidth: Int) {
self.postsPerPage = postsPerPage
self.contentWidth = contentWidth
}

View File

@ -11,16 +11,20 @@ final class Settings: ObservableObject {
@Published
var posts: PostSettings
@Published
var pages: PageSettings
@Published
var german: LocalizedSettings
@Published
var english: LocalizedSettings
init(outputDirectoryPath: String, navigationBar: NavigationBarSettings, posts: PostSettings, german: LocalizedSettings, english: LocalizedSettings) {
init(outputDirectoryPath: String, navigationBar: NavigationBarSettings, posts: PostSettings, pages: PageSettings, german: LocalizedSettings, english: LocalizedSettings) {
self.outputDirectoryPath = outputDirectoryPath
self.navigationBar = navigationBar
self.posts = posts
self.pages = pages
self.german = german
self.english = english
}