2014-01-31 66 views
0

在Doxygen中,您可以使用參考鏈接:分別定義它們,然後從文本中引用它們。Doxygen全局定義參考鏈接

/** 
* This is a documentation. Here I link [std::string] to an external web page. 
* 
* The next line is the link definition: 
* 
* [std::string]: http://en.cppreference.com/w/cpp/string/basic_string "std::string documentation" 
*/ 

但是,似乎鏈接定義只能在文檔塊中看到。甚至在同一頁上的其他文檔塊上也看不到它。

我想定義一些鏈接一次,然後到處使用它們(在不同的頁面上)。

這可能嗎?


編輯(後續問題)

爲了實現自己的目標,我認爲最好的辦法就是讓使用別名設施。

我已成功地與這樣的別名設置它:

ALIASES += std_string="<a href=\"http://en.cppreference.com/w/cpp/string/basic_string\" title=\"std::string documentation\" target=\"_blank\">std::string</a> " 
ALIASES += std_vector="<a href=\"http://en.cppreference.com/w/cpp/container/vector\" title=\"std::vector documentation\" target=\"_blank\">std::vector</a> " 

,並用它:

@std_string 
@std_vector 

基本上我對每一個環節一個別名。

它可以通過一個具有參數的別名來實現嗎?使用將是:

@std_ref std::string 
@std_ref std::vector 

的問題是,需要在名稱(參數)與線路之間的某種映射:

std::string -> http://en.cppreference.com/w/cpp/string/basic_string 
std::vector -> http://en.cppreference.com/w/cpp/container/vector 

我知道這是可以做到,如果一個參數會該鏈路的不同部分,如:

@std_ref std::string string/basic_string 
@std_ref std::vector container/vector 

但這是醜陋的,容易出錯,需要每次連接應該是什麼檢查。

回答

1

值得注意的是,您目前使用的是隻有Doxygen支持Markdown的符號 - 它不是用於外部鏈接的doxygen方法。原來Doxygen的方法是插入HTML鏈接在線...

<a href="linkURL">link text</a>

...但是,讓你原來的問題沒有區別。

爲了達到您的目標,我認爲您最好的選擇是使用ALIAS設施。相關手冊頁面爲here。使用它們,你應該能夠定義一個別名,如std-string,並讓它使用別名插入HTML鏈接無處不在

別名是設立在的Doxyfile的配置文件(在手冊的this section

+0

謝謝。這工作。我有一個問題,就是每個鏈接只能使用一個別名而不是一個別名。如果您想檢查我的問題編輯,我將不勝感激。 – bolov

+0

我從來沒有必要使用別名和參數的混合,所以你超出了我的經驗。對不起,我們已經到了你的猜測和我的一樣好的階段:) – Cheeseminer

+0

沒關係,你的答案解決了我的問題,我只想更進一步。 – bolov

0

您手動爲每個C++關鍵字可能設置別名,你要鏈接到,但更好的方法呢這是使用doxygen TAGFILES功能。

標記文件基本上是在外部源中找到的實體的簡潔表示。 Doxygen既可以生成也可以讀取標籤文件。

要爲你的項目的標籤文件,乾脆把標籤文件的名稱的配置文件中的GENERATE_TAGFILE選項之後。

要將一個或多個外部項目的輸出與您自己的項目組合起來,您應該在配置文件中的TAGFILES選項之後指定標記文件的名稱。

的Doxygen有專門解釋how to link to external documentation

整個頁面,並cppreference.com有一些basic instructions已經爲你設置一個標記文件。

對於不耐煩:

  1. 直接鏈接到cppreference.com網站下載File:cppreference-doxygen-web.tag.xml

  2. 此行添加到您的Doxyfile:

    標籤文件+ = 「位置/的/ cppreference-的doxygen-web.tag.xml = http://en.cppreference.com/w/

相關問題