Sphinxは、Python 用の新しいドキュメント ツールです。とても素敵に見えます。私が疑問に思っているのは:
- これは C++ プロジェクトの文書化にどの程度適していますか?
- 既存のドキュメント (doxygen など) を Sphinx 形式に変換するツールはありますか?
- Sphinx を使用する C++ プロジェクトのオンライン/ダウンロード可能な例はありますか?
- Sphinx を使用したことがある人からのヒントはありますか?
Sphinxは、Python 用の新しいドキュメント ツールです。とても素敵に見えます。私が疑問に思っているのは:
[下に挿入された編集]:
10個の異なるモジュール/ドメインで構成されるマルチ10kC++ライブラリでdoxygen+breathe+sphinxツールチェーンをテストしました。私の結論は次のとおりです。
これらの点を詳しく説明します。
私は問題を抱えていました:
より一般的な意味では、ATMはDoxygenのxml出力へのブリッジであることに注意してください。それは、上記の制限があるだけで、doxygenが行うことを正確に出力するような方法で理解されるべきではありません。むしろ、それはあなたに正確に、より多くではなく、より少なくではなく、
私の意見では、完全に機能する呼吸は大きなギャップを埋め、かなりクールな道を開くでしょう。したがって、潜在的な利益のためだけに見る価値があります。
残念ながら、クリエーターによるメンテナンスは今後大幅に低下するようです。したがって、会社で働いていて、上司に息をのむように説得できる場合、または自由な時間があり、本当に価値のあるプロジェクトを探している場合は、それをフォークすることを検討してください!
最後の指針として、スフィンクスのdoxylink contribプロジェクトにも注意してください。これは、中間的な解決策を提供する可能性があります。(cssスタイルに一致する)古いdoxygenドキュメントを参照する周囲のチュートリアルのような構造を構築します(同じものを注入することもできると思います)スフィンクスへのヘッダーとdoxygenドキュメントの上にあるlook'n'feels)。そうすることで、プロジェクトはスフィンクスとの親和性を維持し、呼吸が完全に行われると、ジャンプする準備が整います。しかし、繰り返しになりますが、それがあなたの議題に合うなら、いくつかの愛を呼吸することを示すことを検討してください。
まず、2 つのディレクトリ ツリーsource
とbuild
. source
バージョン管理下に置きます。バージョン管理下に置かずbuild
、インストールの一部として再構築してください。
次に、 http://sphinx.pocoo.org/intro.html#setting-up-the-documentation-sourcesを読んでください。
を使用しsphinx-quickstart
て、実践的なドキュメント ツリーを作成します。これを数日間試して、その仕組みを学びましょう。次に、それを再度使用して、SVN ディレクトリに本物を構築します。
よく計画されたツリーでドキュメントを整理します。そのセクションの「index.rst」が必要なセクションもあれば、不要なセクションもあります。セクションがどの程度「スタンドアロン」であるかによって異なります。
トップレベルindex.rst
は次のようになります。
.. XXX documentation master file, created by sphinx-quickstart on Wed Dec 31 07:27:45 2008.
.. include:: overview.inc
.. _`requirements`:
Requirements
============
.. toctree::
:maxdepth: 1
requirements/requirements
requirements/admin
requirements/forward
requirements/volume
.. _`architecture`:
Architecture
============
.. toctree::
:maxdepth: 1
architecture/architecture
architecture/techstack
architecture/webservice_tech
architecture/webservice_arch
architecture/common_features
architecture/linux_host_architecture
Detailed Designs
================
.. toctree::
:maxdepth: 3
design/index
Installation and Operations
===========================
.. toctree::
:maxdepth: 1
deployment/installation
deployment/operations
deployment/support
deployment/load_test_results
deployment/reference
deployment/licensing
Programming and API's
=====================
.. toctree::
:maxdepth: 2
programming/index
**API Reference**. The `API Reference`_ is generated from the source.
.. _`API Reference`: ../../../apidoc/xxx/index.html
.. note::
The API reference must be built with `Epydoc`_.
.. _`Epydoc`: http://epydoc.sourceforge.net/
Management
==========
.. toctree::
:maxdepth: 2
:glob:
management/*
Indices and tables
==================
* :ref:`genindex`
* :ref:`modindex`
* :ref:`search`
SVN Revision
============
::
$Revision: 319 $
API を「インクルード」するのではなく、通常の HTML リンクで参照するだけであることに注意してください。
Sphinx には automodule と呼ばれる非常に優れたアドオンがあり、Python モジュールから docstring を選択します。
更新Sphinx 1.0 では、C と C++ がサポートされています。 http://sphinx.pocoo.org/
XML アプローチについては、http://www.nabble.com/Using-doxygen-and-sphinx-together-td20989904.htmlをご覧ください。