Bonjour,
La deuxième semaine de vacances est déjà là. Le site a donc la chance d’être la cible de grands travaux.
Markdown
Je n’ai absolument aucun regret d’avoir choisi Markdown, et encore moins une version Python, maintenue par une main de fer dans un gant de velours : Waylan Limberg.
Markdown est même l’objet d’un plan d’homogénéisation à grande échelle.
Cette ubiquité est déjà palpable puisqu’elle m’a permis d’intégrer à ce site un système de présentations (ou diaporamas), que vous pourrez tester ici. Pour chaque présentation, j’ai donc une page construite comme les autres avec Python-Markdown, et, en cliquant sur Lancer le diaporama, une page construite avec Showdown (Markdown en Javascript) contenant les diapos à faire défiler.
Sauf que Showdown est en Javascript et que je n’ai ni assez de compétences ni assez de temps pour rendre ces versions Python et Javascript totalement compatibles. Du coup, ça pose un problème pour les formules de maths, qui s’affichent grâce à Mathjax.
Mathjax
Un coup de coquetterie m’a poussé à garder les délimiteurs par défaut de
Mathjax : \(
et \)
pour les formules en ligne, et \[
et \]
pour les autres. L’autre solution était de prendre les délimiteurs usuels
de $\LaTeX$ : $...$
et $$...$$
.
Sauf que Python-Markdown est bien plus souple que Showdown.js et ces
délimiteurs ne passent pas bien avec ce dernier. J’ai du donc changer
la configuration de Mathjax, mais aussi et surtout tous les délimiteurs
de mes pages (merci sed
). Petit regret donc.
Ditaa
Je n’ai absolument aucun regret d’avoir choisi Ditaa non plus. Je peux définir des diagrammes à l’aide de simple texte, et donc ce système s’intègre parfaitement à ma façon de travailler. C’est aussi, sans être un régal pour les yeux, tout simplement très lisible et très souple (voir la démo).
J’ai choisi d’utiliser le rendu en ligne. En effet, un site maintenu par un certain Bill Baker retourne une image au format PNG si on lui fournit une chaîne de caractères décrivant le diagramme.
Sauf que le site miraculeux a fini par ne plus répondre à partir de mi-octobre. Je n’ai pu trouver aucune explication (c’est un appel). J’ai donc fini par faire une autre version mon extension ditaa pour Python-Markdown, qui génère et stocke les diagrammes dans le répertoire img/ditaa/.
Ce site est désormais plus portable, puisque les diagrammes sont visibles sans connexion, mais sa génération est impossible sur mon téléphone, si jamais je veux y inclure ou modifier un diagramme.
highlight.js
Aucun regret du côté de la coloration syntaxique. J’ai installé
highlight.js
sur mon site depuis le début, mais en appelant les
fichiers en absolu (http://profgra.org/lycee/static/...
) plutôt
qu’en relatif (static/...
), ce que je viens de changer.
Le développeur est très réactif et a répondu à une requête importante concernant la gestion du prompt en Python. Merci à lui.
La reconnaissance automatique du langage reste fragile, mais on peut la forcer. J’ai aussi ajouté en bas à droite le langage reconnu, dans une couleur à la limite du perceptible.
Conclusion