DocC comes with built-in support for several types of input files. You group these files by placing them in a folder with a .docc extension. This folder is called a documentation catalog, and can include these file types:
Lightweight markdown files that contain free-form articles or additional symbol documentation, with an .md extension.
Tutorial files that include dynamic learning content, with a .tutorial extension.
Asset files like images, videos, and archived projects for download, with known extensions like .png, .jpg, .mov, and .zip.
Symbol-graph files that describe the symbols of your API, with an .symbols.json extension.
An Info.plist file with optional metadata about the documentation.
A theme-settings.json with theming customizations for the rendered output.
SwiftDocC provides the APIs you use to discover documentation inputs, load catalog content, parse the symbol-graph meta-information, extract symbol documentation, and pair that symbol documentation with external file content. DocC represents the compiled documentation in an in-memory model that you can further convert in a persistable representation for writing to disk.
Converting in-memory documentation into rendering nodes and persisting them on disk as JSON.