Как включить пользовательские файлы в Doxygen

Я хотел бы добавить пользовательские (не проектные) файлы для создания дополнительных страниц с помощью Doxygen.

Я (на самом деле был) не уверен, как следует называть эти файлы и как их содержимое должно быть отформатировано.


person Veger    schedule 16.06.2010    source источник


Ответы (5)


Я довольно много искал, прежде чем нашел ответ, поэтому подумал, что было бы неплохо поделиться!

Согласно этой статье Doxygen gotchas я наконец обнаружил, что: вам нужно добавить файл с расширением dox. Его содержимое должно содержать блоки комментариев в стиле C:

/*!
  \page My test page
  contents
  ...
  more contents
*/

Убедитесь, что ваши пользовательские файлы размещены в каталоге, указанном в настройке INPUT или в текущем каталоге, если INPUT оставить пустым, чтобы эти файлы можно было найти.

person Veger    schedule 16.06.2010
comment
Уценка теперь также доступна. Вот как его использовать. - person antitoxic; 13.03.2012
comment
Он будет (на момент написания) принимать некоторые другие формы комментариев, например. /// вместо многострочных комментариев в стиле C и @ вместо `, but it seems the last line must consist of the comment marker (\\`) и ничего больше. - person Pharap; 10.08.2019

Просто для полноты: есть 3 возможных расширения, которые doxygen рассматривает как дополнительные файлы документации: .dox, .txt и .doc.

Файлы с таким расширением скрыты от файлового индекса. Внутри файла вам нужно поместить один или несколько блоков комментариев в стиле C/C++.

person doxygen    schedule 13.06.2011
comment
Поскольку это все еще очень популярно в Google: похоже, что в настоящее время .md должен быть добавлен в этот список. - person Lukx; 03.02.2015
comment
Используя doxygen 1.8.13, .txt не работает. .md работает для меня. - person Fabian; 05.05.2017
comment
@Fabian См. тег EXTENSION_MAPPING в файле конфигурации doxygen (Doxyfile) - person albert; 30.06.2018
comment
@albert Спасибо. Это позволяет добавлять txt-файлы, но затем мне нужно выбрать язык для их анализа и использовать комментарии doxygen в txt-файле. Файлы Markdown автоматически обрабатываются как страница doxygen без изменения файла md, чего я также ожидаю от файлов txt. - person Fabian; 11.07.2018
comment
@Fabian, я думаю, что понимаю вашу проблему, в документации не упоминается возможность Markdown. Вам, вероятно, нужно: EXTENSION_MAPPING = txt=md. - person albert; 11.07.2018

Для еще большей полноты, начиная с версии 1.8 Doxygen (я полагаю), теперь он поддерживает дополнительные текстовые файлы, которые очень похожи на синтаксис уценки. Вам больше не нужно использовать блоки комментариев в стиле C/C++. Вместо этого просто напишите почти обычный текст и убедитесь, что текстовый файл находится в пути INPUT, и что ваше сканирование doxygen действительно ищет файлы с расширением .markdown (или любым другим расширением, которое вы решите использовать, как .мд).

person DXM    schedule 22.05.2012
comment
Я не уверен (возможно, рассматривайте это как вопрос), но я не вижу способа добавить такие команды, как \dot, в документ уценки. - person pedz; 26.01.2014
comment
@pedz: Я давно не играл с Doxygen (некоторое время назад сменил работу), поэтому не помню всех подробностей. Вы не можете добавить какой-либо пользовательский тег в уценку. Он должен поддерживаться синтаксическим анализатором, но я считаю, что \dot является допустимым тегом: stack.nl/~dimitri/doxygen/manual/commands.html#cmddot. так что, возможно, а) у вас нет правильной версии или б) в вашем конфигурационном файле вы не указали, что инструмент DOT доступен. - person DXM; 26.01.2014

Для ясности:

В файле конфигурации .dox добавьте файл в директиву INPUT примерно так:

INPUT = ../src \
        ../include \
        ../docs/my-extra-file.txt

Если бы файл имел соответствующее расширение, скажем, .h или .c, то Doxygen нашла бы файл без добавления в директиву INPUT. Внутри файла используйте обычные теги Doxygen, как в исходнике, то есть внутри блоков комментариев, например:

/*! \mainpage MyProject - A Brief Description.
\image html Mylogo.png
\section my-intro MyProject Introduction
\htmlinclude about-MyProject.html
*/

Можно также просто использовать один из тегов включения, например "\htmlinclude" в приведенном выше примере, в любом месте кода.

person Wiley    schedule 25.03.2014

Просто перечислите свои пользовательские файлы в макросе INPUT в вашем doxyfile. Вы можете выбрать любое имя, которое считаете подходящим. Формат текстовый с тегами Doxygen.

person mouviciel    schedule 16.06.2010
comment
Я пробовал это, но файл был включен как исходный файл (добавлен в список файлов). Использование расширения dox, кажется, предотвращает это - person Veger; 16.06.2010