2

Doxygen では man ページの出力を生成できますが、私が知る限り、実際のコード (関数、クラスなど) の man ページしか生成しません。man ページの出力のどこにも表示されない doxygen の @mainpage コメントには、例などの大量の情報があります。全体的な紹介として機能するマニュアルページも用意できるように、その形式で作成したいと思います。doxygenでこれを行う方法はありますか?

これまでのところ、私は方法を見つけていません。私が調査した代替手段は、doxygen が作成する index.html ファイルではうまく機能しません。たとえば、index.html ファイルでいくつかの異なる html2man スクリプトを試しましたが、成功しませんでした。

4

3 に答える 3

1

私はこの回避策を思いつきました。これは、疑似メインページ テキストを man ページに配置し、HTML メインページからそれに適切なリンクを配置します。

/**
 * @mainpage
 * Summary of my simple project.  Please see @ref foo.h for more details.
 *
 * @file foo.h
 * @brief Summary of my simple project.
 * 
 * Here is the much more detailed description of my project,
 * originally intended for the main page.  Since I value the quality
 * of man page output the most, this will end up on the individual
 * file man page, and will be linked to from the HTML main page.
 * I can rattle on with other things like...
 * @todo find a better solution to the mainpage problem.
 */
于 2013-06-21T05:18:46.507 に答える
0

私が知る限り、これは不可能です。HTML 出力はプロジェクト全体をカバーしますが、man ページ出力は単一の @file をカバーします。@mainpage は、特定の @file ではなく、プロジェクト全体に適用されます。したがって、doxygen は man 出力用の @mainpage を出力しません。

ソースをダウンロードし、src/layout.cpp を参照しました。(たとえば) BriefDesc を検索すると、各「レイアウト ハンドラ」がどのようにまとめられているかがわかります。@mainpage が何にマップされるのかはまだわかりませんが、明らかに「ファイル レイアウト ハンドラ」セクションに追加されたものではありません。

@mainpage または @page を追加し、@ref を使用してそれを参照してみました。2 つのマニュアル ページを作成し、それらを手動で結び付けても、適切な HTML フロント ページを作成できるかどうかを確認するためです。たとえば、foo と foo-intro の 2 つの man ページを取得しようとしました。これを行うには、@page が必要でした。ただし、HTML 出力の場合、イントロは「メイン ページ」ではなく「関連ページ」の下に表示されます。それでも、@mainpage は別の man ページをトリガーするようには見えません。理想的ではありません。

于 2013-06-21T04:45:47.750 に答える
0

ドキュメントを保持し、実際のファイル名と完全に一致する@file <filename>コメントをファイルに含めましたか?@main<filename>

Doxygen は、少なくともこれを持たないファイルからのドキュメントをインクルードしません。

http://www.doxygen.nl/manual/commands.html#cmdfile

于 2013-04-29T08:31:16.763 に答える