- Combine la rédaction de documents basée sur Markdown avec des capacités de composition typographique de niveau LaTeX, pour créer avec un seul outil aussi bien des articles scientifiques que des livres, présentations, sites statiques et bases de connaissances
- Une syntaxe avec moins de boilerplate permet d’intégrer directement des éléments comme l’auteur, les marges, le résumé, les images ou les citations, afin d’écrire à la fois le contenu et la mise en page
- Une simple ligne de configuration
.doctypepermet de basculer entre les types de documentspaged,plain,docsetslides, avec prise en charge des présentations interactives - Offre une compilation rapide et une prévisualisation en direct, et grâce à un scripting Turing-complet, réduit les tâches de mise en page répétitives par la réutilisation de fonctions et d’arguments
- Disponible gratuitement en open source, avec un compilateur en évolution continue, maintenu comme logiciel libre
Changements de la version 2.0.0 : sortie le 23 avril 2026
- La sortie HTML passe en mode entièrement hors ligne, ce qui réduit fortement les problèmes de style cassé et de fonctionnalités manquantes dus aux dépendances aux CDN et à Google Fonts
- Un nouveau système d’autorisations a été ajouté : il est désormais possible de contrôler l’accès du document pendant la compilation avec
--allowet--deny, et toute absence d’autorisation provoque immédiatement une erreur, ce qui améliore la sécurité - Le répertoire de sortie par défaut passe de
./outputà./quarkdown-output, ce qui peut nécessiter un ajustement des workflows qui dépendaient de l’ancien chemin par défaut - Avec
--preview, le nom de sortie par défaut n’est plus basé sur.docnameet adopte désormais le formatpreview-<mainfile>-<hash>, ce qui améliore la stabilité de la prévisualisation - Le rendu parallèle a été introduit, améliorant les performances sur les gros documents en traitant simultanément les éléments frères
- Le répertoire
public/à la racine du projet peut être copié tel quel à la racine du résultat HTML, ce qui facilite le déploiement derobots.txt,CNAMEet des ressources statiques partagées - La nouvelle fonction
.htmloptionspermet de définirbaseurl, d’ajouter un lien canonique à chaque page et de générer aussisitemap.xml, ce qui améliore la compatibilité avec les moteurs de recherche - Lors de la compilation HTML, les liens et images prennent en charge le symbole de chemin racine
@, permettant de référencer de façon cohérente les ressources partagées depuis n’importe quel sous-document - Une nouvelle fonction primitive
.imagea été ajoutée pour contrôler finement la taille, la légende et l’utilisation de chemins relatifs fixes, tout en s’intégrant bien avec les ressources depublic/ - Les liens de renvoi croisé pour tous les éléments référençables sont désormais pris en charge, permettant de cliquer pour naviguer vers les figures, tableaux, blocs de code, formules et blocs numérotés personnalisés
- Le nom du module de bibliothèque standard
InjectiondevientHtml, ce qui nécessite des modifications dans les documents existants ou le code de référence - Le scintillement blanc dans la prévisualisation en direct du thème sombre ainsi que le problème du lien du wiki Quarkdoc ont aussi été corrigés, améliorant l’expérience d’utilisation
1 commentaires
Avis sur Hacker News
Honnêtement, c’est impressionnant, mais pour moi, l’essence même de Markdown, c’est sa simplicité extrême
On peut l’éditer sans GUI, l’écrire dans VIM dans un terminal tout en ayant une idée approximative du rendu final, et le fichier brut
.mdreste agréable à lire tel quelMais dès qu’on commence à lui empiler des fonctionnalités, il faut sans cesse aller rechercher des commandes inconnues, on finit par ne plus s’en souvenir, et sans rendu on n’est plus sûr de l’apparence, donc on se met à vouloir un éditeur WYSIWYG
Ça me fait penser à l’idée de vouloir mettre sur un clavier QWERTY des touches cyrilliques, devanagari, chinoises et arabes en plus, et au final on a l’impression de revenir au hunt and peck
Sa syntaxe de base reprend des façons dont les gens imitaient déjà la mise en forme dans du texte, donc ce qu’on saisit reste en général lisible tel quel
Même sans connaître précisément la syntaxe Markdown, on peut la plupart du temps lire sans problème ; un tableau ressemble à un tableau et un paragraphe à un paragraphe
Je dois parfois revérifier la syntaxe, mais ce n’est pas grave. Il est naturel que le vocabulaire actif soit plus petit que le vocabulaire passif
Du coup, j’ai tendance à juger selon la lisibilité du texte source, et parmi ce qui a été montré ici, une bonne partie ne me semble pas apporter un gain énorme sur ce plan
En revanche, je n’ai pas vu d’exemple de mise en forme d’équations, et comme les rares cas où j’utilise LaTeX viennent justement d’expressions mathématiques que Markdown ne sait pas faire, je serais curieux de voir ce que ça donne en pratique
Malgré tout, Quarkdown semble clairement supérieur au fait d’écrire directement du LaTeX, et il paraît aussi meilleur qu’un éditeur GUI comme Word en matière de prévisibilité du résultat et de compatibilité avec l’édition assistée par LLM
On pourrait l’appeler Microsoft Word
Aujourd’hui, il est difficile de se faire remarquer avec un simple éditeur de « plain markdown », et pour arriver jusqu’à la première page de HN, il faut visiblement offrir une richesse fonctionnelle et un niveau de finition qui dépassent le Markdown classique
On dirait une forme de sélection naturelle
J’aimerais bien qu’il existe une ressource qui compare ce genre d’outils et de langages de balisage d’un seul coup
Ce serait bien de mettre MyST, Pandoc, Quarkdown, Quarto et Typst côte à côte
Quarto et Pandoc utilisent du Pandoc Markdown, et https://www.zettlr.com/ aussi
En revanche, Quarkdown et Typst donnent davantage l’impression de langages de balisage programmables, plus proches de LaTeX ou de HTML+Javascript, donc on ne sait pas encore lequel deviendra le vrai successeur de LaTeX
Markdown, c’est essentiellement un
.txtavec un peu de sucre syntaxique en plus, qu’on peut exporter en PDF ou HTMLQuarto, c’est du Markdown quand on veut exécuter des blocs de code
Typst, c’est du LaTeX refait de façon moderne : 90 % du bazar en moins, mais avec l’impression d’avoir aussi perdu 10 % de fonctionnalités
Le monde académique n’aime pas vraiment les nouveautés, donc même en utilisant Typst, il y a de fortes chances que ça ne l’enthousiasme pas
Pandoc est au final un outil d’export vers toutes sortes de formats comme PDF, HTML, etc.
En général, on voit assez vite de quel côté se trouve l’outil dont on a besoin ; il y a aussi asciidoc, mais quand on se demande quels usages ne sont pas couverts par la combinaison markdown/quarto/typst, il n’en reste pas beaucoup
Ce qui manque encore, à la rigueur, ce sont les éditeurs WYSIWYG
Ça ressemble à un superset de Markdown bien conçu et assez rigoureux
https://djot.net/
Si ça m’avait permis de ne plus utiliser LaTeX, ça aurait été idéal, mais en l’essayant sur un vrai projet, il y avait trop de corner cases, et je suis finalement revenu à LaTeX
Il lui manque certaines choses présentes dans LaTeX, et la convertibilité avec Pandoc a aussi été un gros point faible
J’espère vraiment que les derniers 10 % finiront par être comblés
https://github.com/iamgio/quarkdown#comparison
On peut appliquer des filtres arbitraires sur son format JSON intermédiaire, ce qui permet en pratique d’implémenter presque n’importe quelle transformation, et il convertit de nombreux formats vers ce JSON ou depuis celui-ci
C’est pour ça que je préfère les systèmes construits autour de Pandoc, et même quand l’outil de base ne sait pas faire quelque chose, un simple inline filter suffit souvent à régler le problème
D’après le modèle standard du logiciel en physique, Quarkdown devient Quarkup quand on l’édite dans Atom, et il faut remplacer Neutron Mail par Proton Mail
Mais ça ne fonctionne que si on tape de la main gauche tout en développant une app Electron et en écrivant un billet de blog anti-Neutrinos AI
En résumé, pour moi, c’est en fait plus proche de Markdown avec des macros de style LaTeX
Sauf qu’ici on appelle ça des fonctions, probablement parce qu’il y en a au moins une avec des effets de bord : celle qui sert à définir de nouvelles fonctions
J’aime bien la pureté syntaxique du « tout est fonction », mais le fait de mélanger structure et styling à la manière de HTML/CSS me laisse un peu partagé. Cela dit, cette frontière a toujours été floue
Malgré tout, c’est assez élégant, et je comprends les réactions sceptiques face à toute tentative de trop transformer Markdown
La critique selon laquelle un usage excessif des fonctions peut nuire à la lisibilité du source est juste, et parfois le fait de ne pas être Turing-complet est un avantage
Mais si on juge simplement l’idée d’ajouter des fonctions à Markdown, je trouve que c’est un design assez propre
Je suis l’auteur de Quarkdown et le responsable du projet
Au départ, c’était un projet de recherche universitaire, et je n’aurais jamais imaginé qu’il prendrait cette forme deux ans plus tard
Merci pour l’intérêt, je vais essayer de répondre à autant de commentaires que possible
J’ai toujours trouvé que
*bold*et_italic_avaient plus de sens que**bold**et*italic*L’astérisque supplémentaire de Markdown n’est pas une très bonne décision de conception, et c’est particulièrement pénible quand on édite du Markdown sur téléphone ou tablette
Même dans les documents GUI, on a tendance à éviter les macros, donc je me demande si Quarkdown a été conçu dès le départ pour des documents complexes et répétitifs
Merci de prendre les questions
En parcourant la documentation, je me demande un peu si le modèle d’évaluation convient vraiment à ce type de tâche
En mise en page de texte, ajuster une partie casse souvent la disposition ailleurs, ce qui impose de relancer des passes de mise en page ; il faut donc une structure qui itère jusqu’à un point fixe
Typst introduit pour cela la notion de context https://typst.app/docs/reference/context/, mais je n’ai rien vu d’équivalent dans Quarkdown. J’ai peut-être raté quelque chose
Pour un projet de livre, je suis passé d’une combinaison pandoc/md/LaTeX à Typst, et j’en suis plutôt satisfait
J’aime bien la sensation de programmer dans un langage moderne, et c’est aussi bien plus rapide que pandoc+LaTeX
https://functionalprogrammingstrategies.com/
Vu depuis le monde AsciiDoc, la conception syntaxique de Quarkdown semble propre, et j’aime particulièrement les fonctions définies par l’utilisateur
Mais dans cette catégorie d’outils, la difficulté vient souvent moins du langage source lui-même que de la chaîne de sortie
Les extensions Markdown comme les références croisées, les admonitions, le contenu conditionnel ou la réutilisation fondée sur des fonctions peuvent tout à fait être gérées côté conception
Le vrai mur vient ensuite : par exemple les tagged PDF conformes à PDF/UA, les builds déterministes qui ne varient pas selon l’environnement, le hreflang et les liens inter-documents pour des sites multilingues, ou encore les rebuilds incrémentaux qui tiennent sur des livres de 500 pages
En particulier, dans l’UE, l’importance de PDF/UA a encore augmenté depuis l’entrée en vigueur de l’European Accessibility Act le 28 juin 2025
Je serais curieux de savoir comment tu comptes faire évoluer les quatre doctype, surtout le mode paged
MyST devrait aussi figurer dans le tableau comparatif
https://mystmd.org/
Ça pourrait bien devenir le nouveau standard Markdown à l’avenir
Ce n’est pas une extension de Markdown, mais ses objectifs et cas d’usage sont très proches
En revanche, l’absence d’un support LSP solide est regrettable, et au moins de mon côté, je n’ai pas réussi à le faire fonctionner correctement dans helix
Mon blog aussi est construit avec pydata-sphinx-theme et myst
Si tu veux, tu peux mettre à jour le tableau toi-même via une PR
Dans mon application, j’ai choisi une approche un peu différente
Je me suis concentré sur la lisibilité et sur la facilité à manipuler de grands diagrammes Mermaid, et j’ai récemment ajouté un mode plein écran permettant de naviguer un peu comme sur une carte
https://mdview.io/s/97af684b
Quand j’utilise un SSG, je préfère garder en entrée un Markdown propre autant que possible, puis laisser les détails de mise en forme au CSS
Par exemple, pas besoin d’écrire quelque chose comme
.abstractsi le CSS peut traiter le premier paragraphe comme un abstractÀ l’inverse, ce projet semble aller vers des documents autosuffisants plus riches
Il n’y a pas de CSS, mais beaucoup d’options de styling prédéfinies, ce qui me fait souvent penser aux débuts de HTML
HTML 1 n’avait ni couleur ni véritable mise en forme, un peu comme Markdown, puis vers HTML 3 on a commencé à y ajouter toutes sortes de choses, donc ça ressemble à la même trajectoire