From 74a6ba73bba5407d3c211d61f03c13f75112d5aa Mon Sep 17 00:00:00 2001 From: Javier Cicchelli Date: Mon, 22 Sep 2025 19:18:04 +0200 Subject: [PATCH] Defined the relative paths formats of the DocC archive assets on the Strings+Formats extension in the library target. --- .../Internal/Extensions/String+Formats.swift | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 Sources/DocCMiddleware/Internal/Extensions/String+Formats.swift diff --git a/Sources/DocCMiddleware/Internal/Extensions/String+Formats.swift b/Sources/DocCMiddleware/Internal/Extensions/String+Formats.swift new file mode 100644 index 0000000..d425b2b --- /dev/null +++ b/Sources/DocCMiddleware/Internal/Extensions/String+Formats.swift @@ -0,0 +1,38 @@ +// ===----------------------------------------------------------------------=== +// +// 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 +// +// ===----------------------------------------------------------------------=== + +extension String { + /// A namespace that defines the format patterns used to generate strings. + enum Format { + /// A namespace that defines the format patterns used to generate relative path representations. + enum Path { + /// A format pattern used to generate relative paths that starts with the `/` string and finishes with the `.doccarchive` string. + static let archive = "/%@.doccarchive" + /// A format pattern used to generate relative paths that starts with the `/data` string. + static let data = "/data/%@" + /// A format pattern used to generate relative paths that starts with the `/docs` string. + static let docs = "/docs/%@" + /// A format pattern used to generate relative paths that finishes with the `/documentation` string. + static let documentation = "%@documentation" + /// A format pattern used to generate relative paths for JSON documentation files. + static let documentationJSON = "/data/documentation/%@.json" + /// A format pattern used to generate relative paths that starts and finishes with the `/` string. + static let folder = "/%@/" + ///A format pattern used to generate relative paths that finishes with the `/` string. + static let forwardSlash = "%@/" + /// A format pattern used to generate relative paths for index files. + static let index = "%@/%@/index.html" + /// A format pattern used to generate relative paths that starts with the `/` string. + static let root = "/%@" + } + } +}