2017-04-12 2 views

Répondre

1

Est-ce possible? Oui.

Est-ce automatisé et facile? La méthode la plus compliquée et la plus difficile consiste à commencer par le mécanisme Doxygen pour les en-têtes, pieds de page et fichiers de feuille de style personnalisés, et à créer un système de menus entièrement personnalisé. Cela peut être difficile si vous ne connaissez pas beaucoup le HTML/CSS. Vous aurez besoin de fournir des pièces personnalisées pour chaque morceau de conception de menu que vous souhaitez inclure. Commencez par lire les bases sur la page Customizing the output de Doxygen si vous voulez vous diriger vers cette route.

L'autre option consiste à modifier le menu Doxygen après sa génération. C'est une étape manuelle que vous devrez refaire chaque fois que vous construisez la documentation. Mais tout ce dont il a besoin est de modifier le fichier navtreedata.js généré par Doxygen pour apporter les modifications souhaitées. Le fichier a la structure suivante (ceci est un exemple, probablement pas identique à la vôtre):

var NAVTREE = 
[ 
    [ "Utility Library", "index.html", [ 
    [ "Main Page", "index.html", null ], 
    [ "Classes", "annotated.html", [ 
     [ "Class List", "annotated.html", "annotated_dup" ], 
     [ "Class Hierarchy", "hierarchy.html", "hierarchy" ], 
     [ "Class Members", "functions.html", [ 
     [ "All", "functions.html", null ], 
     [ "Functions", "functions_func.html", null ] 
     ] ], 
     [ "Class Index", "classes.html", null ] 
    ] ], 
    [ "Files", null, [ 
     [ "File List", "files.html", "files" ] 
    ] ], 
    [ "Examples", "examples.html", "examples" ] 
    ] ] 
]; 

var NAVTREEINDEX = 
[ 
".html" 
]; 

var SYNCONMSG = 'click to disable panel synchronisation'; 
var SYNCOFFMSG = 'click to enable panel synchronisation'; 

Ici, vous pouvez modifier la navigation, comme je l'ai ajouté l'élément « MENU NIVEAU DEUXIÈME ENTRÉE » ci-dessous. Et vous pouvez évidemment fournir des pages enfants, etc., comme bon vous semble.

var NAVTREE = 
[ 
    [ "Utility Library", "index.html", [ 
    [ "Main Page", "index.html", null ], 
    [ "Classes", "annotated.html", [ 
     [ "Class List", "annotated.html", "annotated_dup" ], 
     [ "Class Hierarchy", "hierarchy.html", "hierarchy" ], 
     [ "Class Members", "functions.html", [ 
     [ "All", "functions.html", null ], 
     [ "Functions", "functions_func.html", null ] 
     ] ], 
     [ "Class Index", "classes.html", null ] 
    ] ], 
    [ "Files", null, [ 
     [ "File List", "files.html", "files" ] 
    ] ], 
    [ "Examples", "examples.html", "examples" ] 
    ] ], 

    [ "SECOND LEVEL MENU ENTRY", "sample-file-secondary.html", [ 
    ] ] 

]; 

var NAVTREEINDEX = 
[ 
".html" 
]; 

var SYNCONMSG = 'click to disable panel synchronisation'; 
var SYNCOFFMSG = 'click to enable panel synchronisation'; 

Et si vous êtes désireux de modifier l'affichage de la barre de menu du haut, vous pouvez le faire d'une manière similaire en éditant le fichier menudata.js. J'espère que cela t'aides!

+0

Génial. Merci de modifier le navtreedata.js fait exactement ce dont j'ai besoin. Je peux juste faire une copie de si coller à chaque fois que je fais des changements aux pages pour éviter de gâcher la navigation. Aussi j'ai déjà regardé la page de sortie de personnalisation de doxygens. J'ai modifié le fichier de mise en page et j'ai pu obtenir plus de dépliants en tant que sous-pages de la page principale, mais pas en dehors de la page principale avec cela. Changer les données de navtree javascript fait exactement ce dont j'ai besoin. – arisonu123

+0

@ arisonu123 - Fantastique. Heureux d'avoir pu aider! –

+0

Hmm Je viens de remarquer que les liens que j'ai déplacés pour les faire au même niveau que la page principale ne sont plus surlignés en bleu comme le reste de mes liens. Une idée de comment résoudre ce problème? – arisonu123