ドキュメントの作成と継続的な運用を支える reStructuredText ベースのツールチェーン
Documentation Toolchain Mikan (以下「Mikan」) は、Sphinx で用いられる一部の文法に対応した、reStructuredText ベースのドキュメントツールチェーンです。
ドキュメントの中には、一度作成したら終わりではなく、継続して更新・維持していく必要があるものもあります。一方で、こうしたドキュメントの更新・維持に必要な時間や体制を、常に確保できるとは限りません。
Mikan は、ドキュメントの作成や継続的な更新・維持にかかる負担を減らし、無理なく続けられるドキュメント運用を支えるためのツールです。
時雨堂では、自社製品のドキュメントに Sphinx と reStructuredText を長く利用してきました。 一方で、 Sphinx の枠組みの中で自社に必要な機能を実現しようとすると、実装や保守に大きな負担がかかるために、実現を諦めたり運用上の妥協をしたりすることもありました。
そこで、Sphinx の記法をできるだけ引き継ぎながら、自分たちのドキュメント運用に必要な機能を一つのツールチェーンにまとめることにしました。こうして一から開発したのが Mikan です。
実際に Mikan で作成されているドキュメントの例として、時雨堂が開発・提供する WebRTC SFU Sora のドキュメント をご覧ください。ページの構成や表示、日本語全文検索などから、Mikan で生成したドキュメントの実際の使い勝手をご確認いただけます。各ページの URL に .md を付けると、Markdown 形式での出力も可能です。
mikan fmt
リンターは reStructuredText の記述上の問題を検出します。タブ文字や行末の半角空白などを検出し、警告します。
また、レンダリングして初めて気付くような記述上の問題を、事前に確認できます。
mikan lint
mikan dev
.md の拡張子を付けてアクセスすることで、reStructuredText から変換した内容を Markdown 形式で確認できます。
llms.txt と llms-full.txt を reStructuredText から Markdown に変換して自動で出力します。
Mikan は Sphinx で用いられる一部の文法に対応した、reStructuredText ベースのドキュメントツールチェーンです。 Sphinx との完全互換を目指したものではなく、ドキュメントの作成と継続的な運用に必要な機能を一つのツールチェーンにまとめています。
| 項目 | Mikan | Sphinx |
|---|---|---|
| 入力形式 | reStructuredText | reStructuredText |
| Sphinx 文法 | 製品ドキュメントでよく使う directive / role を中心に一部対応 | 標準 directive / role と拡張機構に対応 |
| 設定 | mikan.jsonc |
conf.py |
| 拡張機構 | なし | Sphinx extension あり |
| 出力形式 | HTML / Markdown(.md アクセス、llms.txt / llms-full.txt の自動生成) |
HTML / PDF / EPUB など複数ビルダー |
| フォーマッター | 内蔵 (mikan fmt) |
標準ではなし |
| リンター | 内蔵 (mikan lint) |
標準ではなし |
| ローカル開発サーバー | あり (ファイル変更に追従するライブプレビュー) | 標準ではなし |
| 日本語全文検索 | ブラウザ上で動作する日本語全文検索を標準で提供 | 標準の全文検索あり (日本語向けの整備は別途必要になる場合がある) |
| Markdown 出力 | あり | 標準ではなし |
llms.txt |
自動生成 | 標準ではなし |
| Mermaid | ビルド時に SVG 化(対応している図は一部) | 拡張で対応 |
| リンク切れチェック | あり | あり |
| autodoc / intersphinx | 非対応 | 対応 |
| ライセンス | 法人・団体向けの有償ソースコードライセンス | BSD-2-Clause |
Mikan では、法人・団体向けに有償のソースコードライセンスを提供しています。 個人向けのライセンスは、現時点では提供していません。
ライセンス料金:600,000 円(税別)/12 ヶ月
ソースコードライセンスの契約者には、Mikan のソースコードおよび付随するドキュメントを提供します。 Mikan を自社のドキュメントツールとして利用できるほか、提供されたソースコードを参照、複製、改変して、自社の要件に合わせたドキュメントツールを開発することもできます。
Mikan は、時雨堂が販売しているソフトウェア製品のドキュメントツールとして実際に利用しています。 Mikan のソースコードを活用することで、自社のドキュメントツールを一から開発・保守する場合と比べて、そのためにかかる時間や負担を減らすことが期待できます。
契約終了後は、Mikan 本体および提供されたソースコード等を利用することはできません。 また、ソースコードを参照、複製、改変する権利も終了します。
契約期間中に Mikan のソースコードを参考にして独自に実装した部分は、契約終了後もドキュメントツールで利用できます。 一方、Mikan のソースコードそのものを取り込んだ部分は、契約終了後は利用できません。
利用者は、提供された Mikan のソースコード等とその複製を消去する必要があります。
Mikan のソースコード等はアップデートして提供することがあります。
Mikan では原則としてサポートを提供しません。有償サポートを希望される場合は、別途ご相談ください。
conf.py や extension を含め、 Sphinx との完全互換には対応していません。
引き継げる範囲の概要は Mikan と Sphinx の比較 を参照してください。