Настройте дерево в 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 автоматически увидит эту взаимосвязь и убедится, что древовидное представление обновляется в соответствии с

Другие вопросы по тегам