xberg-io/html-to-markdown
High performance and CommonMark compliant HTML to Markdown converter. Maintained by the Kreuzberg team. Kreuzberg is a fast, polyglot document intelligence engine with a Rust core. It extracts structured data from 98+ document formats using streaming parsers and built-in OCR.
解决的问题
将混乱的、现实世界的HTML转换为干净的Markdown(CommonMark或Djot),同时不丢失任何内容。专为处理不规范输入而设计,例如未闭合的标签、CDATA、自定义元素、损坏的实体以及嵌套表格,这些情况通常会导致标准解析器崩溃。
工作原理
该项目使用Rust核心,并采用分层调度系统,从字节扫描器逐步过渡到DOM遍历器,最后在最复杂的情况下使用html5ever进行修复。这种架构确保了所有层级输出的一致性,且字节完全相等。它提供单一的convert()入口点,并为16种不同编程语言提供原生绑定。
适用人群
需要处理网页内容以用于LLM数据流水线、AI代码助手或通用内容迁移的开发者,他们需要高性能以及对损坏HTML的稳健处理能力。
主要亮点
- 多语言支持:提供Python、Node.js、Go、Java、C#和Rust等16种语言的原生绑定。
- 元数据提取:自动解析
<head>部分,提取Open Graph、Twitter、JSON-LD和RDFa等结构化元数据。 - 高性能:在Wikipedia/mdream语料库上,处理速度达到每秒19–116MB。
- 鲁棒性:可自动处理嵌套表格和混合编码等复杂HTML问题。
- AI集成:提供对Claude Code、Cursor和GitHub Copilot CLI等主流AI代码助手的插件支持。
相关
- 项目
- 项目
- 项目
- 项目
- 项目