Swift Biome 已被 Swift Unidoc 取代!
biome
0.3.2
swift-biome
是一个版本化的、多包 Swift 文档编译器。
Biome 旨在成为 Web 服务或静态站点生成器的后端组件。Biome 处理 symbolgraph 解析、依赖关系解析、交叉链接、版本控制、组织、呈现、HTML 渲染和 URI 路由。
Biome 为 swiftinit.org 生态系统文档 提供支持!
Biome 构建于与 DocC 相同的许多组件之上。其主要输入源是由 lib/SymbolGraphGen
生成的 symbolgraph 格式。它还读取 Package.resolved
和 Package.catalog
,后者由 swift-package-catalog
插件生成。
自 v0.3.1 版本起,Biome 将原始 symbolgraph 提前编译成 ss
文件格式,这是一种性能更高、更紧凑且对压缩算法更友好的 symbolgraph 表示形式。
Biome 包含一个工具 swift-symbolgraphc
,可用于将原始 symbolgraph 转换为 ss
文件。
swift-biome-resources
子模块包含标准库最新版本的预编译 ss
文件,以及其默认前端的各种资源和 webpacks。
ecosystem
仓库不被此仓库跟踪,但它包含精选生态系统包的历史 symbolgraph、Package.resolved
文件和 Package.catalog
文件。
swift-biome
包包含一个基于 swift-nio
的可执行目标,名为 preview
,可用于在本地构建和浏览文档。此服务器没有安全功能,不适合在生产环境中使用。
具有更复杂用例的 swift-biome
使用者应期望实现他们自己的 Web 服务器,通过 WebSemantics
与 Biome 交互。
前端使用 Sass 和 Typescript 编写。
构建 Biome 需要 DEVELOPMENT-SNAPSHOT-2022-08-09-a
工具链。工具链要求是精确的,因为 swift-syntax
和 swift-markdown
链接到 swift 运行时的方式。
目前,Biome 只能在 Linux 上构建。Ubuntu 和 Amazon Linux 2 是官方支持的。阻止 Biome 在 macOS 上构建的唯一技术限制是 PackageLoader
目标使用的一些文件系统 API,我们希望尽快将 Biome 移植到 macOS。
提供红黑森林实现,供 Biome 的内存数据库使用。(Biome 使用红黑森林,而不是 B 树集合,因为它单独版本化符号。)
实现 URI 解析器和基本 URI 操作。
实现语义版本。
解码 swift 编译器发出的原始 symbolgraph 片段,执行模块本地后处理,并将它们编码为 symbolgraph 文件。还为各种源代码构造提供类型定义。
实现文档编译器、渲染器和内存数据库。
解码 Package.resolved
文件格式。
解码 Package.catalog
文件格式,并处理从文件系统加载和发现 symbolgraph、DocC 归档和 SPM 代码片段。还可以调用 SymbolGraphs
以动态编译原始 symbolgraph 片段。
调用 PackageCatalogs
和 Biome
,并提供便捷的 API,用于将 symbolgraph 从前者添加到后者。
Preview
(preview
)
一个基本的、不安全的基于 swift-nio
的服务器,适用于在本地浏览 Biome 文档。
SymbolGraphConvert
(swift-symbolgraphc
)
一个用于调用 SymbolGraphs
的命令行界面。支持多线程。
swift-grammar
swift-json
swift-highlight
swift-resource
swift-dom
apple/
swift-markdown
apple/
swift-syntax
swiftinit.org 的部署还依赖于 @Joannis 的 mongokitten
,尽管 swift-biome
本身并不依赖于它。