Pelican : Ajouter automatiquement des attributs HTML 'id' aux titres
Par défaut, avec le moteur de blog Pelican, dans le code HTML, les titres (<h1>
, <h2>
, <h3>
, etc) sont générés basiquement sans attribut id
.
Par exemple, si dans ma source Markdown j'ai :
Du texte # Un titre Re du texte
le code HTML suivant sera généré :
<p>Du texte</p> <h1>Un titre</h1> <p>Re du texte</p>
L'inconvénient, c'est que sans attribut id
dans les titres, on ne peut pas faire de lien direct à une partie. Par exemple, le lien /article.html#un-titre
ne sera pas valide.
Il est possible avec Pelican et Markdown d'automatiser cela, en activant dans Pelican une extension Markdown nommée headerid
. Elle est intégrée par défaut dans Markdown (en tout cas, elle l'est sur mon Ubuntu) donc elle ne nécessite aucune installation supplémentaire.
Pour l'activer, on ajoute simplement l'extension dans son pelicanconf.py
:
MD_EXTENSIONS = ['headerid']
Et voilà. À chaque génération du blog, les titres disposeront d'un attribut id
qui sera généré à partir du texte du titre. Si deux titres sont identiques, ils seront suffixés d'un numéro.
<p>Du texte</p> <h1 id="un-titre">Un titre</h1> <p>Re du texte</p>
Je peux donc désormais faire des liens sur une partie bien précise d'un article.
Pour plus d'infos :