Apr 18, 2026 2.3 KB markdown of v2

typst

sublimated renders .typ files as multi-page documents. push via git, view the rendered pages on the web.

  • documents compile to PDF + SVG pages on push — instant viewing, no client-side rendering

  • text is selectable and copyable (font-aware text overlay on SVG pages)

  • heading anchors for deep linking (e.g. docs/typst/demo.typ#introduction)

  • multi-file projects work — #import, #include, and #image resolve relative paths

  • block-level structure extracted for comments, diffs, and semantic analysis

  • edit mode uses CodeMirror (same as .ts, .py, etc)

demos

one file per feature area — push them to see them rendered:

  • basics — headings, paragraphs, emphasis, lists

  • math — equations, symbols, matrices, aligned expressions

  • code — code blocks, inline code, syntax highlighting

  • tables — tables with headers, alignment, styling

  • figures — figures with captions, placement, numbering

  • layout — page setup, columns, spacing, breaks

  • styling — custom fonts, colors, show rules, set rules

  • functions — variables, functions, conditionals, loops

  • bibliography — citations and bibliography

  • article — a complete article combining all features

how it works

  1. push a .typ file via git (or save via edit mode)

  2. sublimated sends it to the typst compiler (sbl-typst, based on typst v0.13)

  3. three outputs are generated and stored in CAS:

    • PDF — downloadable, printable

    • SVG pages — one SVG per page for the web viewer

    • manifest — semantic structure (headings, figures, equations, text runs)

  4. the web viewer displays SVG pages with a transparent text layer for selection

  5. heading anchors enable deep linking into the document

multi-file projects

typst documents can import other files. sublimated clones the full folder context before compiling, so relative imports work:

#import "utils.typ": template
#import "data.typ": results

#show: template

#include "chapters/intro.typ"

push your entire project folder — all imports resolve automatically.

embedding in markdown

use content block transclusion to embed a rendered .typ document in markdown:

/path/to/document.typ

the rendered pages appear inline.