Ajouter des tables of content #233
Labels
No labels
0. Importé
Domain
Contenus
Domain
Déploiement
Domain
Rules
Domain
Site
Scope
Délivrable
Scope
Épique
Statut
A investiguer
Statut
Doublon
Statut
En attente
Statut
En cours
Statut
En préparation
Statut
Obsolète
Statut
Prêt
Type
Bug
Type
Fonctionnalité
Type
Forme
Type
Organisation
Type
Rééquilibrage
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: jdr-et-univers/pelican-jdr#233
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Ce serait plus simple de pouvoir naviguer si on a des tables of content. Pour ça, il faudrait trouver un moyen que les MarkdownPage soient capable de le gérer.
-> https://github.com/markedjs/marked/issues/545
-> https://vuejs.org/guide/components/events.html#declaring-emitted-events
Solution :
emit
le toc une fois qu'il est généré pour l'ajouter au parent. La page d'accueil, des fiches, et le à propos n'auront pas de tocAutre possibilité : stocker la toc dans un store, et faire du TOC un élément vraiment de "haut niveau" de la page (qui ne serait affiché uniquement quand la taille de la liste de titre est plus grande que 1).
Le table of content sera dans une bulle, suivant la taille de la page, sur la droite.
Ajout de padding du coup des deux côté pour l'espace réservé au contenu
La table des matière va aussi permettre de rendre plus aisé d'avoir des longues pages
Si possible, tenter un scrollspy : https://github.com/bennyxguo/vue3-scroll-spy
Visiblement utiliser juste des anchor ne marchera pas et il faudrai utiliser des refs. Hors, ça va être compliqué vu qu'on utilise un v-html...
Voir :
Ou tenter avec : https://router.vuejs.org/guide/advanced/scroll-behavior.html
Le risque aussi c'est que la page soit pas totalement chargée au moment ou le scroll est fait.
Peut-être potentiellement réglé comme ça : https://router.vuejs.org/guide/advanced/scroll-behavior.html#delaying-the-scroll
Plan d'action
-> Tenter un router-link avec {hash:id_dun_element} présent dans le markdown, dans un éléments "plus haut".
-> Si marche pas, tenter le délais.
-> Si marche pas, + d'investigation.
-> Si marche : Tenter génération du toc.
Cet exemple peut potentiellement aider : https://github.com/vuejs/vue-router/blob/dev/examples/hash-scroll-behavior/app.js