Settings

Theme

Show HN: Sätteri, high-performance Markdown pipeline for JavaScript

github.com

1 points by Princesseuh a month ago · 0 comments · 1 min read

Reader

Hello!

I work at Astro (https://astro.build), where we do a lot of Markdown / MDX and performance in this area is often a bottleneck. Our users use a lot of plugins to process their Markdown, so just blindly moving everything to a native language would make things a bit rigid. Inspired by the oxc and LightningCSS projects, I decided to start to start working on an "ideal" Markdown pipeline: The expensive stuff in Rust, with flexible plugins in JS, but with little performance cost.

This project uses techniques like lazy deserialization, raw transfer, arenas etc to ensure top performance. A JS plugin that only visits, ex, headings shouldn't suffer from the serialization cost of the entire Markdown tree. On the Rust side this is backed by pulldown-cmark, a really fast parser for Markdown.

You can try it in the browser here: https://satteri.erika.florist, or follow the instructions in the README to try it out locally: https://github.com/bruits/satteri/blob/main/packages/satteri...

Hope you'll like it! Don't hesitate if you have any questions.

No comments yet.

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection