2013-08-01 25 views
9

我在Doxygen內創建了多個自定義頁面。我想定製主菜單中頁面的順序。以下是我當前導航菜單的圖片。我想改變順序,所以總覽是第一,安裝第二,介紹第三,等有沒有辦法做到這一點?您如何訂購Doxygen自定義頁面

enter image description here

+0

您是否因爲發佈該問題而發現如何做到這一點?正如我正在尋求解決同樣的問題 - 如果你這樣做,你可以花一點時間發佈解決方案作爲答案?謝謝 – Toby

回答

2

我發現一個,相當麻煩,實現這一目標的方法。 以前,我將所有自定義的doxygen文件(圖像,頁面等)放在一個名爲input的目錄中。

我有我的每一個單獨的文件頁面(例如main_page.dox,page1.dox,page2.dox等)

我感動我的自定義頁面到一個單獨的目錄名爲頁面在同一水平的輸入目錄。

(我也改名爲我的輸入DIR到的圖像,並改變相應的IMAGE_PATH

然後,在doxygen的配置文件我添加到每個頁面文件的顯式路徑到INPUT變量的順序,我想要他們。 E.G:

INPUT= . Documentation\images \ 
     Documentation\pages\main_page.dox \ 
     Documentation\pages\page2.dox \ 
     Documentation\pages\page3.dox 

這意味着,我每次添加一個新的網頁我有它的路徑添加到INPUT,所以我在上面所說,這是很麻煩。但不必conlusions展示介紹等

這適用於HTML和LaTeX前達到更好的 - 沒有其它格式

3

經過一番調查測試,似乎Doxygen的目前不支持的頁面排序,自定義(或任何)時尚。

就像@Toby提到的那樣,目前確保Doxygen中頁面順序的方法是確保頁面條件(\ page)以相同的順序被解析。例如,你可以指定你的文件手動如達到預期的順序:

INPUT = Developers.dox \ 
     Hive_Training.dox \ 
     Installation.dox \ 
     Introduction.dox \ 
     Models.dox \ 
     Overview.dox \ 
     Users.dox \ 
     Files.dox 

這是不理想可言,但它的作品。我發現如果你希望在你的Doxygen配置文件中保持使用目錄路徑,你可以創建一個'頁面順序'文件,在任何其他內容之前先解析。例如:

INPUT += PageOrder.dox 
INPUT += ../my_module_1/content/ 
INPUT += ../my_module_2/content/ 

你添加一個PageOrder.dox文件中的所有頁面引用:

\page developers Developers 
\page hive_training Hive Training 
\page installation Installation 
\page introduction Introduction 
\page models Models 
\page overview Overview 
\page users Users 
\page files Files 

這又是不理想;但是,您的維護過程現在駐留在單個頁面順序文件中(而不是觸摸一(1)個或更多Doxygen配置文件)。

2

Doxygen按字母順序處理自定義頁面文件名稱。

因此你能說出你的自定義頁面文件,如:

  • _1_file1.dox
  • _2_file2.dox
  • 等..

因此,它們將在生成的文檔中以相同的順序出現。這個解決方案避免了修改任何配置文件!

+2

但是,一旦文件重新編號,所有到這些文件的外部鏈接將被打破。 (如果文檔在Web上發佈) –

+0

@JosefKufner可以使用'sed'或'perl'工具對所有文件使用'replace'。 UPD:另外,沒有鏈接將被打破!由於鏈接是'\ page'給出的頁面的名稱,而不是文件名。 –

+0

@John_West你無法做到這一點在網絡上的某個地方。 –

0

我知道這個問題是比較老,但其2017年,我還沒有找到一個令人滿意的答案... 由於這是第一次搜索命中,我想我應該仍然離開我的解決方法在這裏。

我認爲最簡單和最不繁瑣的方法是通過單頁的間接方式,將所有自定義頁面包含爲子頁面。這保留了輸入順序,例如 - >

@page page_contents Contents 
 
@tableofcontents 
 
@subpage page_intro Intro 
 
@subpage page_install Install 
 
@subpage page_system System

enter image description here

0

一種用於分組HTML/CHM輸出的方式是通過嵌套@page和在不同的文件@subpage元件。

所以我在過去所做的就是建立一個登陸頁面和幾個定義剖面佈局的'strucutre'頁面。每個引用都需要在它自己的文件中。

作爲
的一個實例:

\mainpage 
# Welcome to my main page # 
Some text 
\subpage IntroductionSection 
\subpage DetailsSection 
\subpage SamplesSection 

再有像(IntroStructure.md)

Introduction {#IntroductionSection} 
=============== 
# An introduciton to the topiC# 
\subpage GettingStarted 
\subpage HowTo 
\subpage DeepDive 

注意每個subage每個子頁需要與 深潛水引用的結構{#再次使用DeepDive} 。

那就是我處理一堆markdown文檔的方式。 適用於html/chm,雖然你有一定的文件開銷。

enter image description here