отключить автоматическую ссылку в Doxygen

avatar
Yuby
8 апреля 2018 в 08:47
920
1
1

Если я напишу некоторый URL-адрес в комментариях к исходному коду, например:

/**
 * Here is an inline link [test](http://www.test.com).
 * More information:
 * <a href="http://www.test.com">test</a>
 */

Я включил GENERATE_XML в Doxygen. Вот что он генерирует:

<para>Here is an inline link [test](<ulink url="http://www.test.com">http://www.test.com</ulink>).
More information:
<ulink url="http://www.test.com">test</ulink> </para> 

После преобразования тегов я могу создать содержимое Markdown, например:

Here is an inline link [test](<a href="http://www.test.com">http://www.test.com</a>).
More information:
<a href="http://www.test.com">test</a>

Обратите внимание, что ссылка Markdown [test](<a href="http://www.test.com">http://www.test.com</a>) загрязнена, что приведет к разрыву ссылки после того, как я передам ее другому процессору Markdown. Мне это нужно, так как я хочу написать некоторую уценку в комментариях и извлечь ее в некоторые форматы структурированных данных для других инструментов для обработки уценки. Я отключил MARKDOWN_SUPPORT в Doxygen.

Я попытался отключить AUTOLINK_SUPPORT в doxyfile, но он может отключить только внутреннюю ссылку типа на class/method/...

Источник
albert
8 апреля 2018 в 09:33
0

Можете ли вы указать версию doxygen, которую вы используете, различия между стандартным Doxyfile (файл конфигурации doxygen) и включить небольшой фрагмент кода, показывающий проблему.

albert
9 апреля 2018 в 10:03
1

Как насчет: [test](%http://www.test.com)?

Yuby
10 апреля 2018 в 02:03
0

@albert Спасибо! Это сработало. В нашем сценарии идеально исправить эту проблему в инструментах, чтобы избежать изменения существующего исходного кода. Но это также приемлемо, если для этого есть веская причина. Есть ли какой-нибудь документ по этому поводу от Doxygen?

Ответы (1)

avatar
albert
10 апреля 2018 в 07:19
2

Решение упомянутой проблемы автоматической привязки веб-адреса заключается в использовании [test](%http://www.test.com). С помощью знака % подавляется (автоматическое) связывание.

В документации пункт "Шаг 3: Документирование исходников":

Связи создаются для слов, соответствующих задокументированным классам (если перед словом не стоит %; тогда слово не будет связано и знак % будет удален).

Примечание: в приведенной выше цитате формулировка предназначена только для классов, но она работает и в других местах. Та же "проблема" возникает и в других местах:

.
  • Описание AUTOLINK_SUPPORT
  • Часто задаваемые вопросы Doxygen автоматически генерирует где-то ссылку на класс MyClass в бегущем тексте. Как предотвратить это в определенном месте?
  • Абзац Ссылки на классы
  • Абзац "\%"