FrankenMarkdown
4 days ago
- #rust-wasm
- #pdf-generation
- #markdown-engine
- FrankenMarkdown 是一个用 Rust 构建的 Markdown 引擎,可将 Markdown 渲染为自包含的 HTML 和带标签的 PDF,零第三方依赖,确保了审计面极小。
- 该引擎使用 WebAssembly 直接在浏览器中运行,支持本地渲染而无需服务器。文档可通过带压缩的 URL 片段分享,实现了安全、无需服务器的共享功能。
- 它采用单一抽象语法树(AST)同时生成 HTML 和 PDF 输出,确保主题、颜色和样式在不同格式间保持一致。
- 核心功能包括:采用 Knuth–Plass 算法实现 LaTeX 级排版的优化换行、确定性的逐字节输出,以及通过字体子集化仅嵌入使用字形以生成紧凑的 PDF。
- 命令行界面友好,支持稳定的退出码和 JSON 输出选项,并实现了部分 CommonMark 覆盖,同时有意排除了原始 HTML 透传等特性。