2 points par GN⁺ 1 일 전 | 1 commentaires | Partager sur WhatsApp
  • 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 .doctype permet de basculer entre les types de documents paged, plain, docs et slides, 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 --allow et --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 .docname et adopte désormais le format preview-<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 de robots.txt, CNAME et des ressources statiques partagées
  • La nouvelle fonction .htmloptions permet de définir baseurl, d’ajouter un lien canonique à chaque page et de générer aussi sitemap.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 .image a é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 de public/
  • 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 Injection devient Html, 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

 
GN⁺ 1 일 전
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 .md reste agréable à lire tel quel
    Mais 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

    • Pour moi, l’un des grands atouts de Markdown, c’est justement son côté à moitié WYSIWYG
      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
    • Cet argument est assez convaincant
      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
    • Il suffit de créer un Quarkdown encore plus puissant, sans nouvelles commandes bizarres à mémoriser, avec une UI/UX impeccable
      On pourrait l’appeler Microsoft Word
    • Je développe moi aussi un petit renderer Markdown, et rien que lui trouver un nom est difficile, sans parler du fait de convaincre les gens de l’utiliser une fois terminé
      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
    • Obsidian.md est vraiment un excellent éditeur WYSIWYG pour du Markdown basique
  • 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

    • Je les ai presque tous utilisés, et je compte continuer, mais en gros on peut les distinguer comme ça
      Markdown, c’est essentiellement un .txt avec un peu de sucre syntaxique en plus, qu’on peut exporter en PDF ou HTML
      Quarto, 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
    • djot mériterait aussi d’être dans la comparaison
      Ça ressemble à un superset de Markdown bien conçu et assez rigoureux
      https://djot.net/
    • J’avais vraiment envie d’aimer Typst
      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
    • Si c’est à ce genre de comparaison que tu penses, elle existe déjà
      https://github.com/iamgio/quarkdown#comparison
    • Pandoc n’est pas au même niveau d’abstraction que les autres outils
      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

    • Je me demande si tu envisages de « corriger » la syntaxe du gras dans la v3
      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
    • L’idée d’introduire des fonctions dans un format texte paraît assez inhabituelle
      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
    • J’ai lu https://iamgio.eu/2025-12-10-accidentally-in-silicon-valley/ et je suis content de voir que ça a l’air de bien se passer
  • 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

    • Ou alors Typst aussi vaudrait le coup d’être ajouté
      Ce n’est pas une extension de Markdown, mais ses objectifs et cas d’usage sont très proches
    • La combinaison MyST + Sphinx est très bonne
      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
    • Je ne connais pas très bien ce domaine
      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 .abstract si 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