// ===----------------------------------------------------------------------=== // // This source file is part of the Hummingbird DocC Middleware open source project // // Copyright (c) 2025 Röck+Cöde VoF. and the Hummingbird DocC Middleware project authors // Licensed under the EUPL 1.2 or later. // // See LICENSE for license information // See CONTRIBUTORS for the list of Hummingbird DocC Middleware project authors // // ===----------------------------------------------------------------------=== /// An enumeration that represents the essential static files that could be generated by the `DocC` building process. enum AssetFile: String, CaseIterable { /// A file defining all the documentation available, which will be used to redirect to the root of the documentation's root article. case documentation = "documentation.json" /// A file containing the icon in `.ico` format within the documentation generated by the `DocC` building process. case faviconICO = "favicon.ico" /// A file containing the icon in `.svg` format within the documentation generated by the `DocC` building process. case faviconSVG = "favicon.svg" /// A file containing the theme settings within the documentation generated by the `DocC` building process. case themeSettings = "theme-settings.json" } // MARK: - Pathable extension AssetFile: Pathable { // MARK: Computed var path: String { switch self { case .documentation: .init(format: .Format.Path.data, rawValue) default: .init(format: .Format.Path.root, rawValue) } } }