Skip to main content

A notebook, website, and documentation generator written in Rust.

Calepin is a fast rendering engine for Quarto-compatible notebooks, written in Rust. It turns .qmd files into HTML, LaTeX, Typst, or Markdown, executes R and Python code chunks, and builds scientific notebooks, articles, books, websites and documentation pages.

The name Calepin comes from the French word for a small pocket notebook.

💡 Click </> here or in the navbar to view this page's source side-by-side.

⚠️ Warning

Calepin is alpha software. Please report bugs and feature requests at github.com/vincentarelbundock/calepin.

Fast:

  • Sub-millisecond rendering for typical notebooks.
  • Render tens of thousands of documents in seconds.
  • Smart caching of code chunk outputs and rendered documents.
  • Instant updates every time you save the file.
  • Written in Rust.

Extensible:

  • Write filters, transforms, custom functions, and postprocessors in Python, R, shell, or anything that reads JSON.
  • Override any template with plain HTML, LaTeX, or Typst. No need to learn Rust, Go, Lua, or yet another nerdy language.

Templates everywhere:

  • Override any element by dropping a file in _calepin/partials/.
  • Figures, tables, code blocks, callouts, theorems, equations, citations, footnotes.
  • Page wrapper, title block, author block, appendix, license, funding.
  • Navbar, sidebar, footer, breadcrumbs, search, theme toggle, source viewer.
  • One CSS file. One TOML file.

LLM-friendly:

  • File formats that LLM agents know and can edit directly: Markdown, HTML, Jinja, TOML.
  • Classless HTML. No complicated frameworks or messy classes.
  • Simple CSS. No preprocessor; no Javascript build step.
Loading source...