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 코드 에이전트용 플러그인 제공.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트