Tiramisu Docs

What is Tiramisu?

Understand Tiramisu's core principles: a composable, output-agnostic markup language built on function calls.

Tiramisu is a markup language built around a single concept: function calls. Everything in Tiramisu is either plain text or a function call, making the syntax simple and consistent.

Unlike Markdown or HTML, Tiramisu is not tied to any specific output format. The Tiramisu parser (@timeleap/tiramisu) reads source text and produces an AST (Abstract Syntax Tree) that can be compiled to anything — HTML, Svelte components, React, PDF, or any other format.

Key Principles

  • One syntax — everything is a function call. No special cases, no shorthand, no ambiguity.
  • Composable — function calls can be nested inside other function calls to any depth.
  • Output-agnostic — the parser produces a generic AST. What you do with it is up to your compiler front-end.
  • Extensible — there are no built-in functions in the language itself. All functions are defined by the compiler front-end.

Tiramisu vs. Tiramisu Docs

It's important to distinguish between the two:

Tiramisu (Language)Tiramisu Docs (Framework)
WhatMarkup language + parserDocumentation framework
Package@timeleap/tiramisu@tiramisu-docs/kit
FunctionsNone built-inDefines h1, bold, codeblock, callout, etc.
OutputGeneric ASTSvelte components

All the functions you use when writing docs (h1, bold, codeblock, callout, etc.) are defined by Tiramisu Docs, not by the Tiramisu language itself.

A Simple Example

tiramisu
bold { Hello } world!

The parser turns this into an AST with a FunctionCall node (name: bold, content: Hello) followed by a PureText node (world!). What happens next depends on your compiler front-end.