Qu'est-ce que Tiramisu ?
Découvrez Tiramisu, un langage de balisage basé sur les appels de fonctions, indépendant du format de sortie.
Tiramisu est un langage de balisage construit autour d'un seul concept : les appels de fonctions. Tout dans Tiramisu est soit du texte brut, soit un appel de fonction, ce qui rend la syntaxe simple et cohérente.
Contrairement à Markdown ou HTML, Tiramisu n'est pas lié à un format de sortie spécifique. Le parseur Tiramisu (@timeleap/tiramisu) lit le texte source et produit un AST (Abstract Syntax Tree) qui peut être compilé vers n'importe quoi — HTML, composants Svelte, React, PDF, ou tout autre format.
Principes clés
- Une seule syntaxe — tout est un appel de fonction. Pas de cas particuliers, pas de raccourcis, pas d'ambiguïté.
- Composable — les appels de fonctions peuvent être imbriqués dans d'autres appels de fonctions à n'importe quelle profondeur.
- Indépendant du format de sortie — le parseur produit un AST générique. Ce que vous en faites dépend de votre front-end compilateur.
- Extensible — il n'y a pas de fonctions intégrées dans le langage lui-même. Toutes les fonctions sont définies par le front-end compilateur.
Tiramisu vs. Tiramisu Docs
Il est important de distinguer les deux :
| Tiramisu (Langage) | Tiramisu Docs (Framework) | |
|---|---|---|
| Quoi | Langage de balisage + parseur | Framework de documentation |
| Package | @timeleap/tiramisu | @tiramisu-docs/kit |
| Fonctions | Aucune intégrée | Définit h1, bold, codeblock, callout, etc. |
| Sortie | AST générique | Composants Svelte |
Toutes les fonctions que vous utilisez pour écrire de la documentation (h1, bold, codeblock, callout, etc.) sont définies par Tiramisu Docs, pas par le langage Tiramisu lui-même.
Un exemple simple
bold { Hello } world! Le parseur transforme ceci en un AST avec un nœud FunctionCall (nom : bold, contenu : Hello) suivi d'un nœud PureText (world!). Ce qui se passe ensuite dépend de votre front-end compilateur.