Lektor-PythonMarkdown plugin

Depuis 2014, nous utilisons un générateur de fichiers statiques pour construire notre site Web. Nous avons utilisé Jekyll pour commencer. Cela nous a très bien servi pendant un certain temps, mais après un an, Jekyll s'est avéré difficile à personnaliser et à entretenir. L'ajout de macro nécessitait de les écrire en ruby. L'aspect visuel n'est pas complètement découplé du contenu de la page. La localisation et les alternatives ne sont pas bien supportées. L'absence d'interface utilisateur rend difficile la modification de pages pour des utilisateurs non techniques.

Notre désir de migrer notre site Web hors de Jekyll et d’utiliser une autre technologie s’est développé. Nous voulions continuer à utiliser un générateur de fichier statique et non quelque chose comme Wordpress. Après de nombreuses recherches et évaluations, nous avons trouvé que Lektor remplaçait agréablement Jekyll et répondait mieux à nos besoins. Nous avons fait une preuve de concept et nous avons été satisfaits des résultats.

Pourquoi avons-nous écrit ce nouveau plugin?

La migration d'un site Web d'une technologie à une autre représente un effort considérable. Pour cette raison, nous avons souhaité réduire le temps nécessaire à la migration en créant un nouveau plugin pour Lektor. Un plugin qui nous permettrait de garder notre contenu markdown presque identique.

Lektor utilise le moteur mistune pour restituer le contenu markdown. Tandis que Jekyll utilise kramdown. Si nous devions conserver le moteur par défaut de mistune, beaucoup de nos pages auraient besoin d'être modifiées pour s'afficher correctement, car mistune n'est pas riche en fonctionnalités par rapport à kramdown. C'est alors que nous avons décidé d'écrire notre propre plugin pour Lektor afin d'utiliser un moteur markdown plus puissant. Python-markdown était le plus proche de kramdown. Voici donc le plugin lektor-phythonmarkdown!

Utilisation

Pour l'utiliser dans Lektor, vous devez l'installer dans votre projet, puis utiliser le type de champ "pythonmarkdown". Ce nouveau type de champ peut être utilisé partout où le type de champ "markdown" a été utilisé.

lektor plugins add pythonmarkdown

page.ini:

[fields.body]
label = Page content
type = pythonmarkdown

Apprendre encore plus

Le projet est hébergé sur notre Gitlab et en miroir sur Github.

Vous pouvez en apprendre plus sur ce plugin, comme activer ou désactiver les fonctionnalités avancées en lisant le fichier README.