2014-01-31 36 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/