En (x)html une « ancre nommée » est le moyen de créer un lien vers un emplacement spécifique au sein d’un document. Ceci permet de naviguer au sein d’une même page Web (par exemple pour faire un sommaire du document), mais aussi pour faire un lien externe (depuis une autre page) vers un point donné de celle-ci.
Fonctionnalité peu ou mal connue de Spip, il est possible de gérer assez facilement les « ancres nommées » grâce aux raccourcis typographiques.
Tout d’abord un petit rappel
Dans Spip, les liens hypertexte se codent à l’aide de raccourcis directement dans le texte. Par exemple de la façon suivante :
- [mon texte->http://wwww.exemple.org]
Il est aussi possible de faire encore plus simple lorsqu’il s’agit de liens vers une page du même site (si elle est gérée par Spip bien sûr). Par exemple, pour faire un lien vers l’article portant l’ID numéro 123, nous pouvons insérer le code suivant :
- [mon texte->123]
Principe général
Suivant un principe similaire, l’API de Spip permet donc de créer des « ancres nommées ».
1. Tout d’abord, créer une ancre en un point nommé du texte :
- [#nom_ancre<-]
Ceci va placer une ancre invisible #nom_ancre à cet endroit précis du document. Il sera alors possible directement vers cette partie du document à partir du système de gestion des liens de Spip.
1. Dans la même page :
- [mon texte->#nom_ancre]
2. A partir d’une autre page du même site :
- [mon texte->123#nom_ancre]
Ce code insérera un lien vers la partie du document marquée par l’ancre #nom_ancre au sein de l’article portant l’ID numéro 123.
3. A partir de n’importe quelle page Web, de n’importe quel autre site, en pointant le liens vers une URL du type :
http://www.exemple.org/spip.php?article123#nom_ancre
Un petit exemple
Que peut-on faire concrètement avec une telle fonctionnalité ? Par exemple ; enrichir une page de son site d’une navigation hypertextuelle interne, en doter le texte d’un sommaire pointant vers chacune de ses sections.
1. Au début de notre texte nous plaçons donc notre sommaire, composé des intertitres de l’article :
- -* [Première partie de mon article->#section_un]
- -* [Deuxième partie d mon article->#section_deux]
- -* [Troisième partie de mon article->#section_trois]
2. Nous positionnons une ancre pour chaque intertitre, de façon à ce que chacun des liens de notre sommaire pointent vers la partie correspondante de l’article.
- Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Nullam eu velit. Fusce id dui ac nisl consequat tempus. Nam volutpat ornare sapien. Donec luctus aliquam urna. Nunc vel diam sit amet tellus gravida imperdiet. Integer mi augue, ultrices sed, tristique vel, tristique faucibus, leo.
- [#section_un<-]{{{Mon premier intertitre}}}
- Quisque ut massa cursus magna hendrerit vestibulum. Nam bibendum enim in lectus. Etiam nec massa non purus tempor ullamcorper. Vivamus luctus wisi a sapien. Cras commodo. Vivamus enim ipsum, feugiat auctor, consectetuer eget, elementum eget, ante.
- [#section_deux<-]{{{Mon deuxième intertitre}}}
- Ut adipiscing scelerisque magna. Integer rutrum rutrum risus. Cras neque. Suspendisse dapibus, sapien sed nonummy scelerisque, nulla eros consequat augue, sed vehicula sapien massa vitae elit. Nam convallis imperdiet ante.
Ceci peut donc être décliné, pour mettre en forme, par exemple, une foire au question (FAQ), ou encore pour construire une navigation hypertexte transversale entre des articles, non seulement en les associant par des liens, mais en associant des partie d’un texte avec des parties d’un autre texte. A nous d’inveter d’autres usages.
