Настройте дерево в Doxygen
Я пытаюсь использовать Doxygen впервые и до сих пор доволен большинством вещей. Вы можете сказать, что руководство, которое я создаю, состоит из двух частей: одна составлена с использованием.dox-файлов, содержащих общую информацию о продукте; затем вторая часть построена из исходных файлов и показывает API.
У меня проблема в том, что страницы, сгенерированные из исходных файлов, не отображаются так, как я хочу, чтобы в древовидной структуре. Часть, сгенерированная из.dox-файлов, может быть легко структурирована так, как я хочу (например, используя \page, \section и \subsection), но когда я включаю исходные файлы, новые страницы (Classes, Files) появляются на первом уровне дерево:
V Project Name
> Installation (.dox)
> Licensing (.dox)
> Components (.dox)
> Tools (.dox)
> Getting Started (.dox)
> Classes (source files)
> Files (source files)
По крайней мере, я хотел бы иметь возможность настроить древовидную структуру - переместить все страницы, сгенерированные из исходных файлов, на один уровень в древовидной структуре (но если возможно настроить структуру страницы, как я делаю в.dox-файлах, которые бы быть великим)
V Project Name
> Installation (.dox)
> Licensing (.dox)
> Components (.dox)
> Tools (.dox)
> Getting Started (.dox)
V API
> Classes (source files)
> Files (source files)
Это возможно? Во время поиска в Google мне удалось найти что-то под названием "файл макета", но я не смог понять, как это работает, и поможет ли это в этом случае.
Если это невозможно, я должен поместить часть API в отдельное руководство, но мне действительно нравится избегать этого.
Я ценю любую помощь.
2 ответа
Мне удалось решить эту проблему, изменив "файл макета". Файл по умолчанию выглядит следующим образом:
<navindex>
<tab type="mainpage" visible="yes" title=""/>
<tab type="pages" visible="yes" title="" intro=""/>
<tab type="modules" visible="yes" title="" intro=""/>
<tab type="namespaces" visible="yes" title="">
<tab type="namespacelist" visible="yes" title="" intro=""/>
<tab type="namespacemembers" visible="yes" title="" intro=""/>
</tab>
<tab type="classes" visible="yes" title="">
<tab type="classlist" visible="yes" title="" intro=""/>
<tab type="classindex" visible="$ALPHABETICAL_INDEX" title=""/>
<tab type="hierarchy" visible="yes" title="" intro=""/>
<tab type="classmembers" visible="yes" title="" intro=""/>
</tab>
<tab type="files" visible="yes" title="">
<tab type="filelist" visible="yes" title="" intro=""/>
<tab type="globals" visible="yes" title="" intro=""/>
</tab>
<tab type="examples" visible="yes" title="" intro=""/>
</navindex>
Я изменился на:
<navindex>
<tab type="mainpage" visible="yes" title=""/>
<tab type="pages" visible="yes" title="" intro=""/>
<tab type="usergroup" visible="yes" title="API" url="@ref api" intro="">
<tab type="modules" visible="yes" title="" intro=""/>
<tab type="namespaces" visible="yes" title="">
<tab type="namespacelist" visible="yes" title="" intro=""/>
<tab type="namespacemembers" visible="yes" title="" intro=""/>
</tab>
<tab type="classes" visible="yes" title="">
<tab type="classlist" visible="yes" title="" intro=""/>
<tab type="classindex" visible="$ALPHABETICAL_INDEX" title=""/>
<tab type="hierarchy" visible="yes" title="" intro=""/>
<tab type="classmembers" visible="yes" title="" intro=""/>
</tab>
<tab type="files" visible="yes" title="">
<tab type="filelist" visible="yes" title="" intro=""/>
<tab type="globals" visible="yes" title="" intro=""/>
</tab>
<tab type="examples" visible="yes" title="" intro=""/>
</tab>
</navindex>
Я создал страницу API (на которую ссылается вкладка группы пользователей) в файле с именем api.dox:
/*! \page api API
TODO: Add text here...
*/
Я считаю, что более простой способ сделать это — следовать руководству doxygen о том, как работать с «подстраницами»: https://www.doxygen.nl/manual/grouping.html#subpaging .
Суть в том, что обычно на вашей родительской странице есть ссылки на другие подстраницы, и при запуске вы могли использовать\ref
для этого команду, но используя аналогичную\subpage
команды , doxygen автоматически увидит эту взаимосвязь и убедится, что древовидное представление обновляется в соответствии с