Swift Digest
Blog | Swift.org Blog

Swift-DocC のオープンソース化

Swift-DocC is Now Open Source

このダイジェストはClaude Opus 4.7 / 4.8によって生成されたものです(License)。原文はこちら

この記事の要点

何が発表されたのか

Swift-DocC は、WWDC21 で Apple が発表した Swift フレームワーク・パッケージ向けの新しいドキュメントコンパイラです。コードのそばで質の高いドキュメントを手軽に書き、Swift コードベースから包括的なドキュメントサイトを生成できます。Xcode 13 のツールに同梱されていましたが、今回これがオープンソース化され、複数プラットフォームのサポートとともに公開されました。

Swift-DocC は次のような目標のもとで開発されました。

何ができるのか

Swift-DocC は macOS や Linux を含む多くのプラットフォームでドキュメントを書き、生成するためのツールとライブラリで構成されます。docc コマンドラインツールは Xcode 13 に統合済みで、SwiftPM など他のビルドシステムとも連携できる設計になっています。オープンソースプロジェクトは次のコンポーネントから成り、いくつかは他の開発ツールを作るうえでもそれ自体が有用です。

Swift-DocC は、Jazzy や SwiftDoc、そして Xcode などですでに広く使われている Swift のドキュメントコメント構文を理解します。そのうえで独自の構文も追加しています。たとえばダブルバッククォート ``SymbolName`` でシンボル間のリンクを作れます。

/// A model representing a sloth.
///
/// You can create a sloth using the ``init(name:color:power:)`` initializer, or
/// create a randomly generated sloth using a ``SlothGenerator``:
///
/// ```swift
/// let slothGenerator = MySlothGenerator(seed: randomSeed())
/// let habitat = Habitat(isHumid: false, isWarm: true)
/// do {
///     let sloth = try slothGenerator.generateSloth(in: habitat)
/// } catch {
///     fatalError(String(describing: error))
/// }
/// ```
public struct Sloth {  }

このようなコメントが、相互リンクの張られたドキュメントサイトのページとして描画されます。

導入・今後の位置づけ

Swift-DocC は GitHub で試せます。Swift-DocC 自体のドキュメント(Swift-DocC で書かれています)は swift.org/documentation で公開されており、利用方法の相談は Using Swift forum、実装・開発の議論は Swift-DocC forum で行えます。

発表時点で示されていた今後の構想であり、実現を約束するものではありません。

関連リンク