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 :

Vus : 419
Publié par Quack1 : 122