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程式碼助手的插件支援。
相關
- 專案
- 專案
- 專案
- 專案
- 專案