modifié le

Navigation

Navigation intra-component

La gestion de la navigation est manuelle, Elle est réalisée au niveau de chaque component, via un fichier .adoc contenant une liste multi-niveau. Les niveaux des éléments de la liste correspondent aux niveaux des items du menu. Si l’élément est un lien, on obtient un élément cliquable dans le menu. Si l’élément est juste un texte, alors on obtient simplement un label dans le menu.

La navigation peut se trouver entièrement dans un fichier unique .doc du component, ou bien être découpée par module, et aggrégée au niveau du component. Les liens ne sont pas des des liens vers les pages HTML générées, mais des liens vers les fichiers .adoc sources, sous la forme :

xref:component:fichier.adoc[label facultatif]

Si le label est omis, le titre de plus haut niveau du document pointé le remplace.

Cette navigation gérée manuellement est, dans ce site démo, celle de gauche. Celle de droite est générée automatiquement, à partir des titres de paragraphes, et concerne le contenu de la page courante uniquement. Elle est implémentée par l’UI.

Navigation dans la page courante

L’UI peut proposer une navigation, générée automatiquement.

Navigation différenciée

Rappel
Un component est défini par le playbook antora.yml qui sera trouve à sa racine. Celui-ci référence à son tour le fichier de navigation, typiquement nav.adoc.

Lorsqu’un component est instancié dans plusieurs sites, on peut vouloir différencier la navigation de chacune des instances.

C’est typiquement ce que l’on peut vouloir faire avec des supports de cours : dérouler la navigation (de gauche) progressivement en fonction de l’avancement du cours (pour éviter d’exposer le cours d’un seul coup dans son ensemble).

On peut réaliser cela via la clé StartPath du playbook de site, qui indique un répertoire du component qui sera son point d’entrée.

Par exemple, soient 2 sites master et licence informatique composés tous les 2 d’un component commun.

On crée alors 2 sous-répertoires dans le component, par exemple start_master et start_licence, contenant chacun un playbook antora.yml qui référence une navigation nav.adoc elle aussi dans ce sous-répertoire. On référence ensuite, via la clé StartPath du playbook de chacun de ces 2 sites, le sous-répertoire start_* adéquat.

C’est la façon la plus simple de gérer plusieurs navigations indépendantes pour un même component. Une autre façon de faire serait de se passer de StartPath et de réaliser cela avec des branches git, une branche par promo.