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コーディングアシスタント、または一般的なコンテンツ移行のためにWebコンテンツを処理する必要がある開発者で、高いパフォーマンスと破損したHTMLの堅牢な処理を必要とする方々です。

主な特徴

  • 多言語対応: Python、Node.js、Go、Java、C#、Rustなど16言語のネイティブバインディングを提供。
  • メタデータ抽出: <head>セクションを自動的に解析し、Open Graph、Twitter、JSON-LD、RDFaなどの構造化メタデータを抽出。
  • 高パフォーマンス: Wikipedia/mdreamコアで1秒あたり19〜116MBの処理速度を実現。
  • 堅牢性: ネストされたテーブルや混合エンコーディングといった複雑なHTML問題を自動的に処理。
  • AI統合: Claude Code、Cursor、GitHub Copilot CLIなどの主要AIコーディングエージェント用のプラグインを提供。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト