// ===----------------------------------------------------------------------=== // // This source file is part of the Hummingbird DocC open source project // // Copyright (c) 2025 Röck+Cöde VoF. and the Hummingbird DocC project authors // Licensed under Apache license v2.0 // // See LICENSE for license information // See CONTRIBUTORS for the list of Hummingbird DocC project authors // // SPDX-License-Identifier: Apache-2.0 // // ===----------------------------------------------------------------------=== /// 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) } } }