struct PageSettingsFile { let contentWidth: Int let largeImageWidth: Int let pageLinkImageSize: Int let defaultCssFile: String? let codeHighlightingJsFile: String? let audioPlayerJsFile: String? let audioPlayerCssFile: String? let modelViewerJsFile: String? } extension PageSettingsFile: Codable { } extension PageSettingsFile { static var `default`: PageSettingsFile { .init(contentWidth: 600, largeImageWidth: 1200, pageLinkImageSize: 180, defaultCssFile: nil, codeHighlightingJsFile: nil, audioPlayerJsFile: nil, audioPlayerCssFile: nil, modelViewerJsFile: nil) } }