32

次のようなリンクで相互にリンクされたマークダウンページのセットを含むプロジェクトがあります

[Go to this page](subdir/MyOtherPage.md)

ページはすべて doxygen によって取得され、出力に表示されますが、リンクは新しい HTML レンディションを指すように変更されません。

HTML ページを指すようにリンクを変更することはできますが、私のプロジェクトは github でホストされており、github はマークダウン ページ間のリンクを自動的にサポートするため、これらのリンクは壊れてしまいます。

外部リンク以外のリンクのサポートについて、doxygen のドキュメントには何も表示されません。doxygen にマークダウン リンクから HTML リンクを生成させる方法はありますか?

4

4 に答える 4

8

通常の古い Markdown リンクは、Doxygen 1.8.6 の時点で処理されます[link text](docs/page.md)。ただし、これは少しおかしな動作をします。URL は Doxygen 作業ディレクトリからの相対パスでなければなりません (つまり、Doxyfile や .md ファイルのディレクトリではなく、Doxygen が実行されているディレクトリです)。リンクをクリックすると、レンダリングされた HTML ではなく生の Markdown が表示される場合は、URL が Doxygen の作業ディレクトリからの相対パスではないことを意味します。

于 2015-02-23T14:47:08.360 に答える
2

この機能は Doxygen 1.8.6 (2013 年 12 月) で追加されました。

Allow @ref to unlabeled markdown page by name, i.e. @ref mypage.md
Allow links to other markdown pages of the form [link text](page.md)

動作させるには、リンクにドキュメンテーション ディレクトリを含める必要がある場合があります。

[link text](docs/page.md)
于 2014-01-15T00:55:30.523 に答える
0

次の手順で問題が解決する場合があります。

  • STRIP_FROM_PATHDoxyfile ディレクトリに設定します。マークダウン ファイルをリンクする際の相対パスに問題があります。
  • doxygen ソース ファイル src/docparser.cpp のコードを含む 2438 行目に次のコードを追加しますpd = Doxygen::pageSDict->find(target);(まだ存在しない場合)。ページリストで検索するマークダウンファイルを修正します。

    if(pd == 0 && lang == SrcLangExt_Markdown) {pd = Doxygen::pageSDict->find(markdownFileNameToId(target));}

  • 最後に doxygen をコンパイルして、もう一度試してください。

それは私のために働いた。

于 2015-03-02T13:24:42.753 に答える