Skip to content

bruits/satteri

Sätteri

Here the page is set, the loose locked fast, the words marked down.

High-performance Markdown and MDX processing. Parses and compiles in Rust, runs your plugins in JavaScript.

Check out the documentation for installation instructions, the API reference, and usage examples, try it online on the playground, or join us on Discord!

Packages

Sätteri is a Rust + TypeScript monorepo containing the following Rust crates:

Name Description Registry README
satteri High-level Rust API for the pipeline: parse, convert, compile Satteri Crates.io Version README
satteri-arena Arena allocator and binary buffer primitives Satteri Arena Crates.io Version README
satteri-ast MDAST and HAST node types, codecs, tree operations, and conversion Satteri AST Crates.io Version README
satteri-plugin-api Rust Plugin trait for Rust plugins, typed visitors, and runner Satteri Plugin API Crates.io Version README
satteri-napi-binding NAPI bindings exposing the Rust pipeline to JavaScript README
satteri-mdxjs-rs MDX-to-JavaScript compiler, fork of mdxjs-rs adapted for OXC Satteri MDXJS Crates.io Version README
satteri-pulldown-cmark CommonMark parser with MDX extension support, fork of pulldown-cmark Satteri pulldown-cmark Crates.io Version README

And the following npm packages:

Name Description Registry README
satteri TypeScript layer: plugin API and top-level functions Satteri npm Version README
satteri-expressive-code HAST plugin: render code blocks with Expressive Code Satteri Expressive Code npm Version README
vite-plugin-satteri Vite plugin: import .md and .mdx files vite-plugin-satteri npm Version README

Acknowledgements

Sätteri builds on the work and knowledge of several open-source projects:

  • unifiedjs -- the ecosystem of tools for processing content with syntax trees, including remark and rehype
  • pulldown-cmark -- CommonMark pull parser
  • mdxjs-rs -- MDX compiler by Titus Wormer, forked to use pulldown-cmark and OXC

Special thanks to the following projects for paving the way for high-performance Rust <-> JavaScript interop:

  • oxc -- Rust JavaScript parser and compiler by the OXC team, used for MDX compilation
  • Lightning CSS -- Rust CSS parser with a optimized JavaScript Visitor API

Sätteri is an open-source project born from Bruits, a Rust-focused collective 💛