2014-01-31 5 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" 
*/ 

Однако кажется, что определение ссылки видно только в блоке документации. Это не видно даже на других блоках документации на одной странице.

Я хочу определить некоторые ссылки один раз, а затем использовать их везде (на разных страницах).

Возможно ли это?


Edit (последующий вопрос)

Для того, чтобы достичь своей цели, я думаю, вам лучше всего использовать алиаса объекта.

мне удалось установить его с псевдонимом, как это:

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

You МОГ созданы псевдонимы вручную для каждого ключевого слова C++, который вы хотите перейти по ссылке, но лучше сделать это использование функции doxygen TAGFILES.

Файл тега представляет собой компактное представление объектов, найденных во внешних источниках. Doxygen может генерировать и читать файлы тегов.

Чтобы создать файл тега для вашего проекта, просто поместите имя файла тега после опции GENERATE_TAGFILE в файле конфигурации.

Чтобы объединить вывод одного или нескольких внешних проектов с собственным проектом, вы должны указать имя файлов тегов после параметра TAGFILES в файле конфигурации.

Doxygen имеет целую страницу, посвященную объяснению how to link to external documentation

И cppreference.com уже установки файл тегов для вас с некоторыми basic instructions.

Для нетерпеливых:

  1. Скачать File:cppreference-doxygen-web.tag.xml для связи непосредственно на сайте cppreference.com.

  2. Добавить эту строку в Doxyfile:

    + = тег-файлы "положение// cppreference-Doxygen-web.tag.xml = http://en.cppreference.com/w/"

Смежные вопросы