{"id":51438294,"url":"https://github.com/xberg-io/html-to-markdown","last_synced_at":"2026-07-09T17:00:48.564Z","repository":{"id":284809753,"uuid":"926648217","full_name":"xberg-io/html-to-markdown","owner":"xberg-io","description":"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 56+ document formats using streaming parsers and built-in OCR.","archived":false,"fork":false,"pushed_at":"2026-07-07T16:54:46.000Z","size":157655,"stargazers_count":802,"open_issues_count":4,"forks_count":61,"subscribers_count":6,"default_branch":"main","last_synced_at":"2026-07-09T08:06:15.103Z","etag":null,"topics":["hocr","html","html-converter","markdown","markdown-converter","rag","text-extraction","text-processing"],"latest_commit_sha":null,"homepage":"https://docs.html-to-markdown.xberg.io","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/xberg-io.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":".github/CODEOWNERS","security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-02-03T16:18:12.000Z","updated_at":"2026-07-09T06:43:50.000Z","dependencies_parsed_at":"2025-04-24T02:38:10.368Z","dependency_job_id":"c703b28f-8bb2-44b7-b873-460a7b6063ff","html_url":"https://github.com/xberg-io/html-to-markdown","commit_stats":null,"previous_names":["goldziher/html-to-markdown","kreuzberg-dev/html-to-markdown","xberg-io/html-to-markdown"],"tags_count":442,"template":false,"template_full_name":null,"purl":"pkg:github/xberg-io/html-to-markdown","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xberg-io%2Fhtml-to-markdown","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xberg-io%2Fhtml-to-markdown/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xberg-io%2Fhtml-to-markdown/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xberg-io%2Fhtml-to-markdown/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/xberg-io","download_url":"https://codeload.github.com/xberg-io/html-to-markdown/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xberg-io%2Fhtml-to-markdown/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35306717,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-09T02:00:07.329Z","response_time":57,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["hocr","html","html-converter","markdown","markdown-converter","rag","text-extraction","text-processing"],"created_at":"2026-07-05T09:00:30.722Z","updated_at":"2026-07-09T17:00:48.557Z","avatar_url":"https://github.com/xberg-io.png","language":"HTML","funding_links":[],"categories":["Libraries","Projects"],"sub_categories":["Text processing","HTML Manipulation","Document Processing"],"readme":"\u003cp align=\"center\"\u003e\n  \u003cpicture\u003e\n    \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://cdn.jsdelivr.net/gh/xberg-io/assets@v1/banner/readme-banner-dark.svg\"\u003e\n    \u003cimg alt=\"Xberg\" width=\"420\" src=\"https://cdn.jsdelivr.net/gh/xberg-io/assets@v1/banner/readme-banner-light.svg\"\u003e\n  \u003c/picture\u003e\n\u003c/p\u003e\n\n# html-to-markdown\n\n\u003cdiv align=\"center\" style=\"display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; margin: 20px 0;\"\u003e\n  \u003ca href=\"https://github.com/xberg-io/alef\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/built%20with-alef%20%D7%90-007ec6\" alt=\"Built with alef\"\u003e\n  \u003c/a\u003e\n  \u003c!-- Language Bindings --\u003e\n  \u003ca href=\"https://crates.io/crates/html-to-markdown-rs\"\u003e\n    \u003cimg src=\"https://img.shields.io/crates/v/html-to-markdown-rs?label=Rust\u0026color=007ec6\" alt=\"Rust\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://pypi.org/project/html-to-markdown/\"\u003e\n    \u003cimg src=\"https://img.shields.io/pypi/v/html-to-markdown?label=Python\u0026color=007ec6\" alt=\"Python\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://www.npmjs.com/package/@xberg-io/html-to-markdown\"\u003e\n    \u003cimg src=\"https://img.shields.io/npm/v/@xberg-io/html-to-markdown?label=Node.js\u0026color=007ec6\" alt=\"Node.js\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://www.npmjs.com/package/@xberg-io/html-to-markdown-wasm\"\u003e\n    \u003cimg src=\"https://img.shields.io/npm/v/@xberg-io/html-to-markdown-wasm?label=WASM\u0026color=007ec6\" alt=\"WASM\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://central.sonatype.com/artifact/io.xberg/html-to-markdown\"\u003e\n    \u003cimg src=\"https://img.shields.io/maven-central/v/io.xberg/html-to-markdown?label=Java\u0026color=007ec6\" alt=\"Java\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://pkg.go.dev/github.com/xberg-io/html-to-markdown/packages/go/v3\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/v/tag/xberg-io/html-to-markdown?label=Go\u0026color=007ec6\u0026filter=v3*\" alt=\"Go\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://www.nuget.org/packages/XbergIo.HtmlToMarkdown/\"\u003e\n    \u003cimg src=\"https://img.shields.io/nuget/v/XbergIo.HtmlToMarkdown?label=C%23\u0026color=007ec6\" alt=\"C#\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://packagist.org/packages/xberg-io/html-to-markdown\"\u003e\n    \u003cimg src=\"https://img.shields.io/packagist/v/xberg-io/html-to-markdown?label=PHP\u0026color=007ec6\" alt=\"PHP\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://rubygems.org/gems/html-to-markdown\"\u003e\n    \u003cimg src=\"https://img.shields.io/gem/v/html-to-markdown?label=Ruby\u0026color=007ec6\" alt=\"Ruby\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://hex.pm/packages/html_to_markdown\"\u003e\n    \u003cimg src=\"https://img.shields.io/hexpm/v/html_to_markdown?label=Elixir\u0026color=007ec6\" alt=\"Elixir\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://xberg-io.r-universe.dev/htmltomarkdown\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/R-htmltomarkdown-007ec6\" alt=\"R\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://pub.dev/packages/h2m\"\u003e\n    \u003cimg src=\"https://img.shields.io/pub/v/h2m?label=Dart\u0026color=007ec6\" alt=\"Dart\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://central.sonatype.com/artifact/io.xberg/html-to-markdown-android\"\u003e\n    \u003cimg src=\"https://img.shields.io/maven-central/v/io.xberg/html-to-markdown-android?label=Kotlin\u0026color=007ec6\" alt=\"Kotlin\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/xberg-io/html-to-markdown/tree/main/packages/swift\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/Swift-SPM-007ec6\" alt=\"Swift\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/xberg-io/html-to-markdown/tree/main/packages/zig\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/Zig-package-007ec6\" alt=\"Zig\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/xberg-io/html-to-markdown/releases\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/C-FFI-007ec6\" alt=\"C FFI\"\u003e\n  \u003c/a\u003e\n\n  \u003c!-- Project Info --\u003e\n  \u003ca href=\"https://github.com/xberg-io/html-to-markdown/blob/main/LICENSE\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/License-MIT-007ec6\" alt=\"License\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://docs.html-to-markdown.xberg.io\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/Docs-html--to--markdown-007ec6\" alt=\"Documentation\"\u003e\n  \u003c/a\u003e\n\u003c/div\u003e\n\n\u003cdiv align=\"center\" style=\"display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; margin: 28px 0 24px;\"\u003e\n  \u003ca href=\"https://discord.gg/xt9WY3GnKR\"\u003e\n    \u003cimg height=\"22\" src=\"https://img.shields.io/badge/Discord-Chat-007ec6?logo=discord\u0026logoColor=white\" alt=\"Join Discord\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://docs.html-to-markdown.xberg.io/demo/\"\u003e\n    \u003cimg height=\"22\" src=\"https://img.shields.io/badge/Live%20Demo-Open-007ec6?logo=webassembly\u0026logoColor=white\" alt=\"Live Demo\"\u003e\n  \u003c/a\u003e\n\u003c/div\u003e\n\nTurn messy, real-world HTML into clean Markdown — from the language you already work in.\n\n## What and Why?\n\nFeed html-to-markdown the HTML you actually have — unclosed tags, CDATA, custom elements, broken entities, nested tables, mixed encodings — and get back clean CommonMark (or Djot) without losing content. One `convert()` call does it, and it returns the same result whether you run it from Python, TypeScript, Go, Ruby, Java, or 11 more languages.\n\nYou get more than the text: pull page metadata (Open Graph, Twitter, JSON-LD) and structured tables in the same pass, or hook into the conversion to reshape the output. It is fast enough for whole-corpus jobs, and the messy-input handling is automatic — you never choose a parsing strategy or tune anything to get correct output.\n\n### Features\n\n| Feature | Description |\n| ------- | ----------- |\n| **16 languages, one Rust core** | Rust, Python, Node.js, WASM, Java, Go, C#, PHP, Ruby, Elixir, R, Dart, Kotlin (Android), Swift, Zig, and a C ABI |\n| **Tiered dispatch** | Byte scanner → DOM walker → `html5ever` repair, with byte-equal output across tiers |\n| **Real-HTML robust** | Unclosed tags, CDATA, custom elements, malformed entities, nested tables, mixed encodings — handled without losing content |\n| **GFM tables** | Padded cells, alignment, and pipe escaping |\n| **Djot output** | Set `output_format = \"djot\"` to emit Djot instead of Markdown |\n| **Metadata extraction** | Parse `\u003chead\u003e` into structured metadata (Open Graph, Twitter, JSON-LD, microdata, RDFa, header hierarchy) |\n| **Inline images** | Opt-in mirroring of data URIs and remote image references |\n| **Visitor API** | Feature-gated traversal to transform the converted Markdown AST |\n| **Configurable preprocessing** | Standard, strict, and lenient presets — or build your own |\n| **Fast** | 19–116 MB/s on the Wikipedia/mdream corpus; per-group regression thresholds enforced on every PR |\n\n\u003cdiv align=\"center\"\u003e\n  \u003ca href=\"https://github.com/xberg-io/html-to-markdown/stargazers\"\u003e\n    \u003cimg src=\"docs/assets/star.gif\" alt=\"Star html-to-markdown on GitHub\" width=\"640\"\u003e\n  \u003c/a\u003e\n\u003c/div\u003e\n\n\u003cp align=\"center\"\u003e\u003cstrong\u003e⭐ Star this repo to show your support — it helps others discover html-to-markdown.\u003c/strong\u003e\u003c/p\u003e\n\n## Quick Start\n\n`convert()` is the single entry point — it returns a structured result with `content`, `warnings`, and optional `metadata`.\n\n### Language Packages\n\n\u003cdetails open\u003e\n\u003csummary\u003e\u003cstrong\u003eRust\u003c/strong\u003e\u003c/summary\u003e\n\n```sh\ncargo add html-to-markdown-rs\n```\n\nSee [Rust README](https://github.com/xberg-io/html-to-markdown/tree/main/crates/html-to-markdown) for full documentation.\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003ePython\u003c/strong\u003e\u003c/summary\u003e\n\n```sh\npip install html-to-markdown\n```\n\nSee [Python README](https://github.com/xberg-io/html-to-markdown/tree/main/packages/python) for full documentation.\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eNode.js\u003c/strong\u003e\u003c/summary\u003e\n\n```sh\nnpm install @xberg-io/html-to-markdown\n```\n\nSee [Node.js README](https://github.com/xberg-io/html-to-markdown/tree/main/crates/html-to-markdown-node) for full documentation.\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eGo\u003c/strong\u003e\u003c/summary\u003e\n\n```sh\ngo get github.com/xberg-io/html-to-markdown/packages/go/v3\n```\n\nSee [Go README](https://github.com/xberg-io/html-to-markdown/tree/main/packages/go) for full documentation.\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eJava\u003c/strong\u003e\u003c/summary\u003e\n\nAvailable on Maven Central as `io.xberg:html-to-markdown`. See [Java README](https://github.com/xberg-io/html-to-markdown/tree/main/packages/java) for the dependency snippet and current version.\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eC#\u003c/strong\u003e\u003c/summary\u003e\n\n```sh\ndotnet add package XbergIo.HtmlToMarkdown\n```\n\nSee [C# README](https://github.com/xberg-io/html-to-markdown/tree/main/packages/csharp) for full documentation.\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eRuby\u003c/strong\u003e\u003c/summary\u003e\n\n```sh\ngem install html-to-markdown\n```\n\nSee [Ruby README](https://github.com/xberg-io/html-to-markdown/tree/main/packages/ruby) for full documentation.\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003ePHP\u003c/strong\u003e\u003c/summary\u003e\n\nThis is a native PHP extension (Rust `ext-php-rs`), so install it with [PIE](https://github.com/php/pie) — not `composer require`:\n\n```sh\npie install xberg-io/html-to-markdown\n```\n\nSee [PHP README](https://github.com/xberg-io/html-to-markdown/tree/main/packages/php) for full documentation.\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eElixir\u003c/strong\u003e\u003c/summary\u003e\n\nAdd `{:html_to_markdown, \"~\u003e 3.6\"}` to your `mix.exs` dependencies. See [Elixir README](https://github.com/xberg-io/html-to-markdown/tree/main/packages/elixir) for full documentation.\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eR\u003c/strong\u003e\u003c/summary\u003e\n\n```r\ninstall.packages(\"htmltomarkdown\", repos = \"https://xberg-io.r-universe.dev\")\n```\n\nSee [R README](https://github.com/xberg-io/html-to-markdown/tree/main/packages/r) for full documentation.\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eDart / Flutter\u003c/strong\u003e\u003c/summary\u003e\n\n```sh\ndart pub add h2m\n```\n\nSee [Dart README](https://github.com/xberg-io/html-to-markdown/tree/main/packages/dart) for full documentation.\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eKotlin (Android)\u003c/strong\u003e\u003c/summary\u003e\n\nAvailable on Maven Central as `io.xberg:html-to-markdown-android`. See [Kotlin README](https://github.com/xberg-io/html-to-markdown/tree/main/packages/kotlin-android) for the dependency snippet and current version.\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eSwift\u003c/strong\u003e\u003c/summary\u003e\n\nAdd via Swift Package Manager. See [Swift README](https://github.com/xberg-io/html-to-markdown/tree/main/packages/swift) for full documentation.\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eZig\u003c/strong\u003e\u003c/summary\u003e\n\nSee [Zig README](https://github.com/xberg-io/html-to-markdown/tree/main/packages/zig) for installation and usage.\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eWebAssembly\u003c/strong\u003e\u003c/summary\u003e\n\n```sh\nnpm install @xberg-io/html-to-markdown-wasm\n```\n\nSee [WebAssembly README](https://github.com/xberg-io/html-to-markdown/tree/main/crates/html-to-markdown-wasm) for full documentation.\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eC/C++ (FFI)\u003c/strong\u003e\u003c/summary\u003e\n\nPre-built `.so` / `.dll` / `.dylib` from [GitHub Releases](https://github.com/xberg-io/html-to-markdown/releases). See [FFI crate](https://github.com/xberg-io/html-to-markdown/tree/main/crates/html-to-markdown-ffi) for full documentation.\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eCLI\u003c/strong\u003e\u003c/summary\u003e\n\n```sh\ncargo install html-to-markdown-cli\n```\n\n```sh\nbrew install xberg-io/tap/html-to-markdown\n```\n\nSee [CLI usage](https://docs.html-to-markdown.xberg.io) for full documentation.\n\n\u003c/details\u003e\n\n### AI Coding Assistants\n\nInstall the html-to-markdown plugin from the [`xberg-io/plugins`](https://github.com/xberg-io/plugins) marketplace. It ships the html-to-markdown agent skills and works with every major coding agent — expand your harness below.\n\n\u003cdetails open\u003e\n\u003csummary\u003e\u003cstrong\u003eClaude Code\u003c/strong\u003e\u003c/summary\u003e\n\n```text\n/plugin marketplace add xberg-io/plugins\n/plugin install html-to-markdown@xberg-io\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eCodex CLI\u003c/strong\u003e\u003c/summary\u003e\n\n```text\n/plugins add https://github.com/xberg-io/plugins\n```\n\nThen search for `html-to-markdown` and select **Install Plugin**.\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eCursor\u003c/strong\u003e\u003c/summary\u003e\n\nSettings → Plugins → Add from URL → `https://github.com/xberg-io/plugins`, then select **html-to-markdown**.\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eGemini CLI\u003c/strong\u003e\u003c/summary\u003e\n\n```text\ngemini extensions install https://github.com/xberg-io/plugins\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eFactory Droid\u003c/strong\u003e\u003c/summary\u003e\n\n```text\ndroid plugin marketplace add https://github.com/xberg-io/plugins\ndroid plugin install html-to-markdown@xberg-io\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eGitHub Copilot CLI\u003c/strong\u003e\u003c/summary\u003e\n\n```text\ncopilot plugin marketplace add https://github.com/xberg-io/plugins\ncopilot plugin install html-to-markdown@xberg-io\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eopencode\u003c/strong\u003e\u003c/summary\u003e\n\nAdd the package to `opencode.json`:\n\n```json\n{\n  \"$schema\": \"https://opencode.ai/config.json\",\n  \"plugin\": [\"@xberg-io/opencode-html-to-markdown\"]\n}\n```\n\n\u003c/details\u003e\n\n## Documentation\n\nFull guides, the `convert()` API for every binding, tier architecture, the metadata and visitor APIs, and performance benchmarks live at **[docs.html-to-markdown.xberg.io](https://docs.html-to-markdown.xberg.io)**.\n\n## Part of Xberg\n\n- [Xberg](https://github.com/xberg-io/xberg) — document intelligence: text, tables, metadata from 91+ formats with optional OCR.\n- [Xberg Enterprise](https://github.com/xberg-io/xberg-enterprise) — managed extraction API with SDKs, dashboards, and observability.\n- [crawlberg](https://github.com/xberg-io/crawlberg) — web crawling and scraping with HTML→Markdown and headless-Chrome fallback.\n- [html-to-markdown](https://github.com/xberg-io/html-to-markdown) — fast, lossless HTML→Markdown engine.\n- [liter-llm](https://github.com/xberg-io/liter-llm) — universal LLM API client with native bindings for 14 languages and 143 providers.\n- [tree-sitter-language-pack](https://github.com/xberg-io/tree-sitter-language-pack) — tree-sitter grammars and code-intelligence primitives.\n- [alef](https://github.com/xberg-io/alef) — the polyglot binding generator that produces every per-language binding across the 5 polyglot repos.\n\n## Contributing\n\nContributions welcome! See [CONTRIBUTING.md](CONTRIBUTING.md) for setup instructions and guidelines.\n\n## License\n\nMIT License — see [LICENSE](LICENSE) for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxberg-io%2Fhtml-to-markdown","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fxberg-io%2Fhtml-to-markdown","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxberg-io%2Fhtml-to-markdown/lists"}