2013-08-01 8 views
9

Utworzyłem kilka niestandardowych stron w Doxygen. Chciałbym dostosować kolejność stron w menu głównym. Poniżej znajduje się obraz mojego bieżącego menu nawigacyjnego. Chciałbym zmienić kolejność tak, aby Przegląd był pierwszy, Instalacja drugi, Wprowadzenie trzecie itp. Czy jest jakiś sposób na zrobienie tego?Jak zamówić Doxygen Custom Pages

enter image description here

+0

Znalazłeś jak to zrobić od zaksięgowania pytanie? Ponieważ staram się rozwiązać ten sam problem - jeśli tak, czy mógłbyś poświęcić chwilę, aby opublikować rozwiązanie jako odpowiedź? Dzięki – Toby

Odpowiedz

2

I znaleziono jeden raczej uciążliwa, sposobu osiągnięcia tego celu. Wcześniej miałem wszystkie moje niestandardowe pliki doxygen (obrazy, strony itp.) W jednym katalogu o nazwie input.

mam każdy z moich stron w oddzielnym pliku (np main_page.dox, page1.dox, page2.dox, etc)

Poruszyłem niestandardowych stron do oddzielnego katalogu o nazwie stron na tym samym poziomie, katalog wejściowy.

(ja też przemianowany mój wkład dir do obrazów i zmienił Odpowiednio IMAGE_PATH)

Następnie w pliku doxygen config dodałem wyraźne ścieżki do każdego pliku stronicowania do INPUT zmiennej w takiej kolejności, że chciał je. Np:

INPUT= . Documentation\images \ 
     Documentation\pages\main_page.dox \ 
     Documentation\pages\page2.dox \ 
     Documentation\pages\page3.dox 

Oznacza to, że za każdym razem dodać nową stronę muszę dodać swoją ścieżkę do INPUT, tak jak powiedziałem na początku, jest to uciążliwe. Ale lepsze niż conlusions pokazujące się przed wprowadzaniem itp

Działa to dla HTML i LaTeX - nie zostały przetestowane z innych formatów

3

Po pewnym dochodzenia, wydaje Doxygen obecnie nie obsługuje kolejność stron w zwyczaju (lub dowolny) moda.

Tak jak wspomina @Toby, aktualnym sposobem zapewnienia pożądanej kolejności stron w Doxygen jest zapewnienie, że warunki strony (\ strona) są przetwarzane w tej samej kolejności. Na przykład można osiągnąć żądane zamówienie, określając pliki ręcznie, na przykład:

INPUT = Developers.dox \ 
     Hive_Training.dox \ 
     Installation.dox \ 
     Introduction.dox \ 
     Models.dox \ 
     Overview.dox \ 
     Users.dox \ 
     Files.dox 

To nie jest idealne, ale działa. Odkryłem, że jeśli chcesz zachować ścieżki katalogów w pliku konfiguracyjnym Doxygen, możesz utworzyć plik "zamówienia strony", który będzie najpierw analizowany przed każdą inną treścią. Na przykład:

INPUT += PageOrder.dox 
INPUT += ../my_module_1/content/ 
INPUT += ../my_module_2/content/ 

I dodać wszystkie odwołania strony w pliku PageOrder.dox:

\page developers Developers 
\page hive_training Hive Training 
\page installation Installation 
\page introduction Introduction 
\page models Models 
\page overview Overview 
\page users Users 
\page files Files 

to znowu, nie jest idealny; jednak proces konserwacji znajduje się teraz w pliku pojedynczej strony (zamiast dotykania jednego (1) lub większej liczby plików konfiguracyjnych Doxygen).

2

Doxygen przetwarza nazwy plików stron niestandardowych w kolejności alfabetycznej.

Dlatego można nazwać plików niestandardowych stron jak:

  • _1_file1.dox
  • _2_file2.dox
  • etc ...

W rezultacie pojawią się w tej samej kolejności w wygenerowanym dokumencie. Takie rozwiązanie pozwala uniknąć modyfikowania dowolnego pliku konfiguracyjnego!

+2

Po zmianie numeracji plików wszystkie zewnętrzne linki do takiej dokumentacji zostaną zerwane. (W przypadku opublikowania dokumentacji w Internecie.) –

+0

@JosefKufner Można użyć 'replace' dla wszystkich plików za pomocą narzędzia takiego jak" sed "lub" perl ". UPD: Również żadne linki nie zostaną zerwane! Ponieważ łącza są nazwami stron podanymi przez '\ page', a nie nazwami plików. –

+0

@John_West Nie możesz tego zrobić w łączu gdzieś w sieci. –

0

Wiem, że to pytanie jest dość stare, ale jest to rok 2017 i nadal nie znalazłem satysfakcjonującej odpowiedzi ... Ponieważ jest to pierwszy hit wyszukiwania, pomyślałem, że powinienem zostawić moje obejście tutaj.

Myślę, że najłatwiejszym i najmniej kłopotliwym sposobem jest przejście przez stronę pośrednią pojedynczej strony, która zawiera wszystkie niestandardowe strony jako podstrony. Zachowuje to kolejność wprowadzania, np. ->

@page page_contents Contents 
 
@tableofcontents 
 
@subpage page_intro Intro 
 
@subpage page_install Install 
 
@subpage page_system System

enter image description here

0

Sposób grupowania wyjścia HTML/CHM jest poprzez zagnieżdżonego @Page i elementy @subpage w różnych plikach.

To, co zrobiłem w przeszłości, to mieć stronę docelową oraz kilka stron "strucutre", które definiują układ przekroju. Każde odwołanie musi znajdować się w osobnym pliku.

Jako exmple:

\mainpage 
# Welcome to my main page # 
Some text 
\subpage IntroductionSection 
\subpage DetailsSection 
\subpage SamplesSection 

A potem mają strukturę dla każdego subage podobnego (IntroStructure.md)

Introduction {#IntroductionSection} 
=============== 
# An introduciton to the topiC# 
\subpage GettingStarted 
\subpage HowTo 
\subpage DeepDive 

Należy pamiętać, że każda podstrona musi się odwoływać z Deep Dive {# DeepDive} ponownie.

To jest sposób, w jaki radzę sobie z wieloma dokumentami przecenowymi. Działa doskonale dla html/chm, chociaż masz pewien narzut pliku.

enter image description here