17

Doxygen と Markdown を併用して、中規模の C++ ソフトウェアのドキュメントを作成しました。xmlレイヤーを変更した後、私はそのようなものになってしまったので、私はそれにとても満足しています: http://docs.mitk.org/nightly/index.html

理想的には、ReadtheDocs のようなものを使用して、このドキュメントをオンラインにしたいと考えています。このドキュメントは、「git コミット」後に自動的にビルドされ、参照できるようにホストされます。

ReadtheDocs は理想的なサイトのように見えますが、Sphinx と reStructuredText をデフォルトとして使用しています。Doxygenも使用できますが、AFAIKはBreatheを介してのみ使用できます. そのルートをたどると、基本的に、すべての API ドキュメントを 1 つのページにまとめたくない場合は、すべてのドキュメントを再構成する必要があることを意味します ( http://librelist.com/browser//breathe/2011/8 /6/fwd-guidance-for-usage-breathe-with-existing-doxygen-set-up-on-a-large-project/#cab3f36b1e4bb2294e2507acad71775f )。

逆説的に、Doxygen は read-the-docs サーバーにインストールされていますが、苦労した結果、Sphinx または Mkdocs をスキップする回避策を見つけることができませんでした。

4

2 に答える 2

15

Read The Docs で Doxygen を使用するために次の解決策を試しましたが、うまくいくようです:

  1. 空の sphinx プロジェクトをセットアップします (公式の sphinx doc を参照してください)。
  2. sphinx conf.py で、コマンドを追加して doxygen ドキュメントをビルドします。
  3. conf.py html_extra_path config ディレクティブを使用して、生成された doxygen ドキュメントを生成された sphinx ドキュメントに上書きします。

これを次のソース ツリーでテストしました。

.../doc/Doxyfile
       /build/html
       /sphinx/conf.py
       /sphinx/index.rst
       /sphinx/...

いくつかの説明:

  1. 私のセットアップでは、doxygen は「doc/build/html」にドキュメントを生成します。
  2. ReadTheDocs は、conf.py ファイルがあるディレクトリでコマンドを実行します。

何をすべきか:

  1. conf.py に次の行を追加して、doxygen ドキュメントを生成します。

     import subprocess
     subprocess.call('cd .. ; doxygen', shell=True)
    
  2. conf.py html_extra_pathディレクティブを次のように更新します。

     html_extra_path = ['../build/html']
    

この構成では、ReadTheDocs は Doxygen html ドキュメントを適切に生成して保存する必要があります。

トド:

  • その他のドキュメント形式 (例: pdf)。
于 2016-12-17T14:40:51.113 に答える