/// An enumeration that represents basic configuration static files which will be created by the `DocC` building process.
enum StaticFile: String, CaseIterable {
    /// A file defining the root of the articles' folder, which will be used to redirect to the root of the archives' root article.
    case documentation = "documentation.json"
    /// A file containing the icon in `.ico` format for the documentation generated by the `DocC` building process.
    case faviconICO = "favicon.ico"
    /// A file containing the icon in `.svg` format for the documentation generated by the `DocC` building process.
    case faviconSVG = "favicon.svg"
    /// A file containing the theme settings for the documentation generated by the `DocC` building process.
    case themeSettings = "theme-settings.json"
}

// MARK: - Pathable

extension StaticFile: Pathable {
    
    // MARK: Computed
    
    var path: String {
        switch self {
        case .documentation: .init(format: .Format.Path.data, rawValue)
        default: .init(format: .Format.Path.root, rawValue)
        }
    }
    
}
