Sätteri 使用 Rust 进行 Markdown/MDX 解析与编译,通过 NAPI 绑定在 JavaScript 中运行,为 JS 生态提供高性能的文档处理能力。
高性能的 Markdown 和 MDX 处理工具。使用 Rust 进行解析和编译,在 JavaScript 中运行您的插件。
请查看[文档](https://satteri.bruits.org/docs/)获取[安装指南](https://satteri.bruits.org/docs/installation/)、[API 参考](https://satteri.bruits.org/docs/entry-points/)和[使用示例](https://satteri.bruits.org/docs/quick-start/),在[演练场](https://satteri.bruits.org/playground)在线尝试,或加入我们的 [Discord](https://discord.com/invite/84pd4QtmzA)!
## 包
Sätteri 是一个 Rust + TypeScript monorepo,包含以下 Rust crate:
| 名称 | 描述 | 注册表 | README |
| ------------------------ | ---------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------- |
| `satteri` | 用于 pipeline 的高级 Rust API:解析、转换、编译 |

| [README](./crates/satteri/README.md) |
| `satteri-arena` | Arena allocator 和二进制缓冲区基础组件 |

| [README](./crates/satteri-arena/README.md) |
| `satteri-ast` | MDAST 和 HAST 节点类型、编解码器、树操作及转换 |

| [README](./crates/satteri-ast/README.md) |
| `satteri-plugin-api` | 用于 Rust 插件的 Rust `Plugin` trait、类型化访问器以及运行器 |

| [README](./crates/satteri-plugin-api/README.md) |
| `satteri-napi-binding` | 将 Rust pipeline 暴露给 JavaScript 的 NAPI 绑定 | — | [README](./crates/satteri-napi-binding/README.md) |
| `satteri-mdxjs-rs` | MDX 转 JavaScript 编译器,为适配 OXC 而修改的 [mdxjs-rs] 分支 |

| [README](./crates/satteri-mdxjs-rs/readme.md) |
| `satteri-pulldown-cmark` | 支持 MDX 扩展的 CommonMark 解析器,[pulldown-cmark] 的分支 |

| [README](./crates/satteri-pulldown-cmark/README.md) |
以及以下 npm 包:
| 名称 | 描述 | 注册表 | README |
| ------------------------------------------------ | ---------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------ |
| [`satteri`][npm] | TypeScript 层:插件 API 和顶层函数 |

| [README](./packages/satteri/README.md) |
| [`satteri-expressive-code`][npm-expressive-code] | HAST 插件:使用 Expressive Code 渲染代码块 |

| [README](./packages/satteri-expressive-code/README.md) |
| [`vite-plugin-satteri`][npm-vite-plugin] | Vite 插件:导入 `.md` 和 `.mdx` 文件 |

| [README](./packages/vite-plugin-satteri/README.md) |