gitextract_5vwofxnz/ ├── .ai-rulez/ │ ├── config.toml │ ├── context/ │ │ └── crate-structure.md │ ├── domains/ │ │ ├── conversion-algorithms/ │ │ │ └── DOMAIN.md │ │ ├── html-parsing/ │ │ │ └── DOMAIN.md │ │ └── safety-sanitization/ │ │ └── DOMAIN.md │ └── rules/ │ └── alef-generated-bindings.md ├── .cargo/ │ └── config.toml ├── .clang-format ├── .editorconfig ├── .github/ │ ├── CODEOWNERS │ ├── ISSUE_TEMPLATE/ │ │ ├── bug_report.yml │ │ ├── config.yml │ │ ├── documentation.yml │ │ └── feature_request.yml │ ├── PULL_REQUEST_TEMPLATE.md │ ├── actions/ │ │ ├── build-typescript/ │ │ │ └── action.yml │ │ └── smoke-pie/ │ │ └── action.yml │ ├── dependabot.yaml │ └── workflows/ │ ├── ci.yaml │ ├── deploy-docs.yaml │ ├── publish.yaml │ ├── validate-issues.yml │ └── validate-pr.yml ├── .gitignore ├── .gitmodules ├── .golangci.yml ├── .mailmap ├── .markdownlint.yaml ├── .mvn/ │ └── wrapper/ │ ├── MavenWrapperDownloader.java │ ├── maven-wrapper.jar │ └── maven-wrapper.properties ├── .php-cs-fixer.dist.php ├── .pre-commit-config.yaml ├── .ruby-version ├── .rumdl.toml ├── .sdkmanrc ├── .task/ │ ├── README.md │ ├── checksum/ │ │ ├── _lint-typescript-lint │ │ ├── _test-typescript-test │ │ └── typescript-typecheck │ ├── config/ │ │ ├── platforms.yml │ │ └── vars.yml │ ├── languages/ │ │ ├── python.yml │ │ └── rust.yml │ ├── tools/ │ │ ├── docs.yml │ │ ├── general.yml │ │ └── version-sync.yml │ └── workflows/ │ └── e2e.yml ├── .typos.toml ├── ATTRIBUTIONS.md ├── CHANGELOG.md ├── CONTRIBUTING.md ├── Cargo.toml ├── LICENSE ├── README.md ├── Taskfile.yaml ├── _typos.toml ├── alef.toml ├── composer.json ├── crates/ │ ├── html-to-markdown/ │ │ ├── Cargo.toml │ │ ├── README.md │ │ ├── examples/ │ │ │ ├── basic.rs │ │ │ ├── table.rs │ │ │ ├── test_deser.rs │ │ │ ├── test_escape.rs │ │ │ ├── test_inline_formatting.rs │ │ │ ├── test_lists.rs │ │ │ ├── test_semantic_tags.rs │ │ │ ├── test_tables.rs │ │ │ ├── test_task_lists.rs │ │ │ └── test_whitespace.rs │ │ ├── src/ │ │ │ ├── convert_api.rs │ │ │ ├── converter/ │ │ │ │ ├── block/ │ │ │ │ │ ├── blockquote.rs │ │ │ │ │ ├── container.rs │ │ │ │ │ ├── div.rs │ │ │ │ │ ├── heading.rs │ │ │ │ │ ├── horizontal_rule.rs │ │ │ │ │ ├── line_break.rs │ │ │ │ │ ├── mod.rs │ │ │ │ │ ├── paragraph.rs │ │ │ │ │ ├── preformatted.rs │ │ │ │ │ ├── table/ │ │ │ │ │ │ ├── builder.rs │ │ │ │ │ │ ├── caption.rs │ │ │ │ │ │ ├── cell.rs │ │ │ │ │ │ ├── cells.rs │ │ │ │ │ │ ├── layout.rs │ │ │ │ │ │ ├── mod.rs │ │ │ │ │ │ ├── scanner.rs │ │ │ │ │ │ └── utils.rs │ │ │ │ │ └── unknown.rs │ │ │ │ ├── context.rs │ │ │ │ ├── dom_context.rs │ │ │ │ ├── form/ │ │ │ │ │ ├── elements.rs │ │ │ │ │ └── mod.rs │ │ │ │ ├── format/ │ │ │ │ │ ├── djot.rs │ │ │ │ │ ├── markdown.rs │ │ │ │ │ └── mod.rs │ │ │ │ ├── handlers/ │ │ │ │ │ ├── blockquote.rs │ │ │ │ │ ├── code_block.rs │ │ │ │ │ ├── graphic.rs │ │ │ │ │ ├── image.rs │ │ │ │ │ ├── link.rs │ │ │ │ │ └── mod.rs │ │ │ │ ├── inline/ │ │ │ │ │ ├── code.rs │ │ │ │ │ ├── emphasis.rs │ │ │ │ │ ├── link.rs │ │ │ │ │ ├── mod.rs │ │ │ │ │ ├── ruby.rs │ │ │ │ │ └── semantic/ │ │ │ │ │ ├── marks.rs │ │ │ │ │ ├── mod.rs │ │ │ │ │ └── typography.rs │ │ │ │ ├── list/ │ │ │ │ │ ├── definition.rs │ │ │ │ │ ├── item.rs │ │ │ │ │ ├── mod.rs │ │ │ │ │ ├── ordered.rs │ │ │ │ │ ├── unordered.rs │ │ │ │ │ └── utils.rs │ │ │ │ ├── main.rs │ │ │ │ ├── main_helpers.rs │ │ │ │ ├── media/ │ │ │ │ │ ├── embedded.rs │ │ │ │ │ ├── graphic.rs │ │ │ │ │ ├── image.rs │ │ │ │ │ ├── mod.rs │ │ │ │ │ └── svg.rs │ │ │ │ ├── metadata.rs │ │ │ │ ├── mod.rs │ │ │ │ ├── plain_text.rs │ │ │ │ ├── preprocessing_helpers.rs │ │ │ │ ├── reference_collector.rs │ │ │ │ ├── semantic/ │ │ │ │ │ ├── attributes.rs │ │ │ │ │ ├── definition_list.rs │ │ │ │ │ ├── figure.rs │ │ │ │ │ ├── mod.rs │ │ │ │ │ ├── sectioning.rs │ │ │ │ │ └── summary.rs │ │ │ │ ├── text/ │ │ │ │ │ ├── mod.rs │ │ │ │ │ └── processing.rs │ │ │ │ ├── text_node.rs │ │ │ │ ├── utility/ │ │ │ │ │ ├── attributes.rs │ │ │ │ │ ├── caching.rs │ │ │ │ │ ├── content.rs │ │ │ │ │ ├── mod.rs │ │ │ │ │ ├── preprocessing.rs │ │ │ │ │ ├── serialization.rs │ │ │ │ │ └── siblings.rs │ │ │ │ └── visitor_hooks.rs │ │ │ ├── error.rs │ │ │ ├── exports.rs │ │ │ ├── inline_images.rs │ │ │ ├── lib.rs │ │ │ ├── metadata/ │ │ │ │ ├── collector.rs │ │ │ │ ├── config.rs │ │ │ │ ├── extraction.rs │ │ │ │ ├── mod.rs │ │ │ │ └── types.rs │ │ │ ├── options/ │ │ │ │ ├── conversion.rs │ │ │ │ ├── inline_image.rs │ │ │ │ ├── mod.rs │ │ │ │ ├── preprocessing.rs │ │ │ │ └── validation.rs │ │ │ ├── prelude.rs │ │ │ ├── rcdom.rs │ │ │ ├── text.rs │ │ │ ├── types/ │ │ │ │ ├── document.rs │ │ │ │ ├── mod.rs │ │ │ │ ├── result.rs │ │ │ │ ├── structure_builder.rs │ │ │ │ ├── structure_collector.rs │ │ │ │ ├── tables.rs │ │ │ │ └── warnings.rs │ │ │ ├── validation.rs │ │ │ ├── visitor/ │ │ │ │ ├── default_impl.rs │ │ │ │ ├── mod.rs │ │ │ │ ├── traits.rs │ │ │ │ └── types.rs │ │ │ ├── visitor_helpers/ │ │ │ │ └── helpers/ │ │ │ │ ├── callbacks/ │ │ │ │ │ └── mod.rs │ │ │ │ ├── content.rs │ │ │ │ ├── mod.rs │ │ │ │ ├── state.rs │ │ │ │ └── traversal.rs │ │ │ ├── visitor_helpers.rs │ │ │ ├── wrapper/ │ │ │ │ ├── sync.rs │ │ │ │ └── utils.rs │ │ │ └── wrapper.rs │ │ └── tests/ │ │ ├── br_in_inline_test.rs │ │ ├── commonmark_compliance_test.rs │ │ ├── djot_output_test.rs │ │ ├── exclude_selectors_test.rs │ │ ├── integration_test.rs │ │ ├── issue_121_regressions.rs │ │ ├── issue_127_regressions.rs │ │ ├── issue_128_regressions.rs │ │ ├── issue_131_regressions.rs │ │ ├── issue_134_regressions.rs │ │ ├── issue_139_regressions.rs │ │ ├── issue_140_regressions.rs │ │ ├── issue_143_regressions.rs │ │ ├── issue_145_regressions.rs │ │ ├── issue_146_regressions.rs │ │ ├── issue_176_regressions.rs │ │ ├── issue_190_regressions.rs │ │ ├── issue_199_regressions.rs │ │ ├── issue_200_regressions.rs │ │ ├── issue_212_regressions.rs │ │ ├── issue_216_217_regressions.rs │ │ ├── json_ld_script_extraction.rs │ │ ├── lists_test.rs │ │ ├── plain_output_test.rs │ │ ├── preprocessing_tests.rs │ │ ├── reference_links_test.rs │ │ ├── sectioning_elements_test.rs │ │ ├── skip_images_test.rs │ │ ├── tables_test.rs │ │ ├── test_custom_elements.rs │ │ ├── test_issue_187.rs │ │ ├── test_issue_218.rs │ │ ├── test_issue_277.rs │ │ ├── test_max_depth.rs │ │ ├── test_nested_simple.rs │ │ ├── test_script_style_stripping.rs │ │ ├── test_spa_bisect.rs │ │ ├── visitor_code_integration_test.rs │ │ ├── visitor_integration_test.rs │ │ └── xml_tables_test.rs │ ├── html-to-markdown-cli/ │ │ ├── Cargo.toml │ │ ├── src/ │ │ │ ├── args.rs │ │ │ ├── convert.rs │ │ │ ├── main.rs │ │ │ ├── output.rs │ │ │ ├── utils.rs │ │ │ └── validators.rs │ │ └── tests/ │ │ └── cli_test.rs │ ├── html-to-markdown-ffi/ │ │ ├── Cargo.toml │ │ ├── build.rs │ │ ├── cbindgen.toml │ │ ├── cmake/ │ │ │ └── html-to-markdown-ffi-config.cmake │ │ ├── include/ │ │ │ └── html_to_markdown.h │ │ └── src/ │ │ └── lib.rs │ ├── html-to-markdown-node/ │ │ ├── Cargo.toml │ │ ├── index.d.ts │ │ ├── index.js │ │ ├── npm/ │ │ │ ├── darwin-arm64/ │ │ │ │ ├── README.md │ │ │ │ └── package.json │ │ │ ├── darwin-x64/ │ │ │ │ ├── README.md │ │ │ │ └── package.json │ │ │ ├── linux-arm-gnueabihf/ │ │ │ │ ├── README.md │ │ │ │ └── package.json │ │ │ ├── linux-arm64-gnu/ │ │ │ │ ├── README.md │ │ │ │ └── package.json │ │ │ ├── linux-arm64-musl/ │ │ │ │ ├── README.md │ │ │ │ └── package.json │ │ │ ├── linux-x64-gnu/ │ │ │ │ ├── README.md │ │ │ │ └── package.json │ │ │ ├── linux-x64-musl/ │ │ │ │ ├── README.md │ │ │ │ └── package.json │ │ │ ├── win32-arm64-msvc/ │ │ │ │ ├── README.md │ │ │ │ └── package.json │ │ │ └── win32-x64-msvc/ │ │ │ ├── README.md │ │ │ └── package.json │ │ ├── package.json │ │ └── src/ │ │ └── lib.rs │ ├── html-to-markdown-php/ │ │ ├── Cargo.toml │ │ └── src/ │ │ └── lib.rs │ ├── html-to-markdown-py/ │ │ ├── Cargo.toml │ │ └── src/ │ │ └── lib.rs │ ├── html-to-markdown-rs-ffi/ │ │ └── README.md │ ├── html-to-markdown-rs-wasm/ │ │ └── README.md │ └── html-to-markdown-wasm/ │ ├── Cargo.toml │ ├── package.json │ ├── scripts/ │ │ ├── cleanup-gitignore.js │ │ └── patch-bundler-entry.js │ └── src/ │ └── lib.rs ├── deny.toml ├── docs/ │ ├── CNAME │ ├── api-reference.md │ ├── architecture.md │ ├── cli.md │ ├── configuration.md │ ├── contributing.md │ ├── css/ │ │ └── extra.css │ ├── demo/ │ │ ├── html_to_markdown_wasm.js │ │ ├── html_to_markdown_wasm_bg.wasm │ │ ├── index.html │ │ ├── script.js │ │ └── style.css │ ├── errors.md │ ├── index.md │ ├── installation.md │ ├── language-guides.md │ ├── llms.txt │ ├── migration.md │ ├── overrides/ │ │ └── main.html │ ├── reference/ │ │ ├── api-c.md │ │ ├── api-csharp.md │ │ ├── api-elixir.md │ │ ├── api-go.md │ │ ├── api-java.md │ │ ├── api-php.md │ │ ├── api-python.md │ │ ├── api-r.md │ │ ├── api-ruby.md │ │ ├── api-rust.md │ │ ├── api-typescript.md │ │ ├── api-wasm.md │ │ ├── configuration.md │ │ ├── errors.md │ │ └── types.md │ ├── snippets/ │ │ ├── c/ │ │ │ ├── getting-started/ │ │ │ │ ├── basic_usage.md │ │ │ │ └── with_options.md │ │ │ ├── metadata/ │ │ │ │ └── basic_extraction.md │ │ │ ├── table-extraction/ │ │ │ │ └── basic_extraction.md │ │ │ └── visitor/ │ │ │ └── basic_visitor.md │ │ ├── csharp/ │ │ │ ├── getting-started/ │ │ │ │ ├── basic_usage.md │ │ │ │ └── with_options.md │ │ │ ├── metadata/ │ │ │ │ └── basic_extraction.md │ │ │ ├── table-extraction/ │ │ │ │ └── basic_extraction.md │ │ │ └── visitor/ │ │ │ └── basic_visitor.md │ │ ├── elixir/ │ │ │ ├── getting-started/ │ │ │ │ ├── basic_usage.md │ │ │ │ └── with_options.md │ │ │ ├── metadata/ │ │ │ │ └── basic_extraction.md │ │ │ ├── table-extraction/ │ │ │ │ └── basic_extraction.md │ │ │ └── visitor/ │ │ │ └── basic_visitor.md │ │ ├── feedback.md │ │ ├── go/ │ │ │ ├── getting-started/ │ │ │ │ ├── basic_usage.md │ │ │ │ └── with_options.md │ │ │ ├── metadata/ │ │ │ │ └── basic_extraction.md │ │ │ ├── table-extraction/ │ │ │ │ └── basic_extraction.md │ │ │ └── visitor/ │ │ │ └── basic_visitor.md │ │ ├── java/ │ │ │ ├── getting-started/ │ │ │ │ ├── basic_usage.md │ │ │ │ └── with_options.md │ │ │ ├── metadata/ │ │ │ │ └── basic_extraction.md │ │ │ ├── table-extraction/ │ │ │ │ └── basic_extraction.md │ │ │ └── visitor/ │ │ │ └── basic_visitor.md │ │ ├── php/ │ │ │ ├── getting-started/ │ │ │ │ ├── basic_usage.md │ │ │ │ └── with_options.md │ │ │ ├── metadata/ │ │ │ │ └── basic_extraction.md │ │ │ ├── table-extraction/ │ │ │ │ └── basic_extraction.md │ │ │ └── visitor/ │ │ │ └── basic_visitor.md │ │ ├── python/ │ │ │ ├── getting-started/ │ │ │ │ ├── basic_usage.md │ │ │ │ └── with_options.md │ │ │ ├── metadata/ │ │ │ │ └── basic_extraction.md │ │ │ ├── table-extraction/ │ │ │ │ └── basic_extraction.md │ │ │ └── visitor/ │ │ │ └── basic_visitor.md │ │ ├── r/ │ │ │ ├── getting-started/ │ │ │ │ ├── basic_usage.md │ │ │ │ └── with_options.md │ │ │ ├── metadata/ │ │ │ │ └── basic_extraction.md │ │ │ ├── table-extraction/ │ │ │ │ └── basic_extraction.md │ │ │ └── visitor/ │ │ │ └── basic_visitor.md │ │ ├── ruby/ │ │ │ ├── getting-started/ │ │ │ │ ├── basic_usage.md │ │ │ │ └── with_options.md │ │ │ ├── metadata/ │ │ │ │ └── basic_extraction.md │ │ │ ├── table-extraction/ │ │ │ │ └── basic_extraction.md │ │ │ └── visitor/ │ │ │ └── basic_visitor.md │ │ ├── rust/ │ │ │ ├── getting-started/ │ │ │ │ ├── basic_usage.md │ │ │ │ └── with_options.md │ │ │ ├── metadata/ │ │ │ │ └── basic_extraction.md │ │ │ ├── table-extraction/ │ │ │ │ └── basic_extraction.md │ │ │ └── visitor/ │ │ │ └── basic_visitor.md │ │ ├── typescript/ │ │ │ ├── getting-started/ │ │ │ │ ├── basic_usage.md │ │ │ │ └── with_options.md │ │ │ ├── metadata/ │ │ │ │ └── basic_extraction.md │ │ │ ├── table-extraction/ │ │ │ │ └── basic_extraction.md │ │ │ └── visitor/ │ │ │ └── basic_visitor.md │ │ └── wasm/ │ │ ├── getting-started/ │ │ │ ├── basic_usage.md │ │ │ └── with_options.md │ │ ├── metadata/ │ │ │ └── basic_extraction.md │ │ ├── table-extraction/ │ │ │ └── basic_extraction.md │ │ └── visitor/ │ │ └── basic_visitor.md │ ├── tables.md │ ├── usage.md │ └── visitor.md ├── e2e/ │ ├── c/ │ │ ├── Makefile │ │ ├── download_ffi.sh │ │ ├── main.c │ │ ├── test_conversion.c │ │ ├── test_edge_cases.c │ │ ├── test_metadata.c │ │ ├── test_options.c │ │ ├── test_real_world.c │ │ ├── test_result.c │ │ ├── test_runner.h │ │ ├── test_smoke.c │ │ └── test_structure.c │ ├── csharp/ │ │ ├── HtmlToMarkdown.E2eTests.csproj │ │ └── tests/ │ │ ├── ConversionTests.cs │ │ ├── EdgeCasesTests.cs │ │ ├── MetadataTests.cs │ │ ├── OptionsTests.cs │ │ ├── RealWorldTests.cs │ │ ├── ResultTests.cs │ │ ├── SmokeTests.cs │ │ ├── StructureTests.cs │ │ └── VisitorTests.cs │ ├── dart/ │ │ └── pubspec.yaml │ ├── elixir/ │ │ ├── mix.exs │ │ └── test/ │ │ ├── conversion_test.exs │ │ ├── edge_cases_test.exs │ │ ├── metadata_test.exs │ │ ├── options_test.exs │ │ ├── real_world_test.exs │ │ ├── result_test.exs │ │ ├── smoke_test.exs │ │ ├── structure_test.exs │ │ ├── test_helper.exs │ │ └── visitor_test.exs │ ├── gleam/ │ │ └── gleam.toml │ ├── go/ │ │ ├── conversion_test.go │ │ ├── edge_cases_test.go │ │ ├── go.mod │ │ ├── go.sum │ │ ├── metadata_test.go │ │ ├── options_test.go │ │ ├── real_world_test.go │ │ ├── result_test.go │ │ ├── smoke_test.go │ │ ├── structure_test.go │ │ └── visitor_test.go │ ├── java/ │ │ ├── pom.xml │ │ └── src/ │ │ └── test/ │ │ └── java/ │ │ └── dev/ │ │ └── kreuzberg/ │ │ └── htmltomarkdown/ │ │ └── e2e/ │ │ ├── ConversionTest.java │ │ ├── EdgeCasesTest.java │ │ ├── MetadataTest.java │ │ ├── OptionsTest.java │ │ ├── RealWorldTest.java │ │ ├── ResultTest.java │ │ ├── SmokeTest.java │ │ ├── StructureTest.java │ │ └── VisitorTest.java │ ├── kotlin/ │ │ └── build.gradle.kts │ ├── node/ │ │ ├── package.json │ │ ├── tests/ │ │ │ ├── conversion.test.ts │ │ │ ├── edge_cases.test.ts │ │ │ ├── metadata.test.ts │ │ │ ├── options.test.ts │ │ │ ├── real_world.test.ts │ │ │ ├── result.test.ts │ │ │ ├── smoke.test.ts │ │ │ ├── structure.test.ts │ │ │ └── visitor.test.ts │ │ ├── tsconfig.json │ │ └── vitest.config.ts │ ├── php/ │ │ ├── bootstrap.php │ │ ├── composer.json │ │ ├── phpunit.xml │ │ └── tests/ │ │ ├── ConversionTest.php │ │ ├── EdgeCasesTest.php │ │ ├── MetadataTest.php │ │ ├── OptionsTest.php │ │ ├── RealWorldTest.php │ │ ├── ResultTest.php │ │ ├── SmokeTest.php │ │ ├── StructureTest.php │ │ └── VisitorTest.php │ ├── python/ │ │ ├── __init__.py │ │ ├── conftest.py │ │ ├── pyproject.toml │ │ └── tests/ │ │ ├── __init__.py │ │ ├── test_conversion.py │ │ ├── test_edge_cases.py │ │ ├── test_metadata.py │ │ ├── test_options.py │ │ ├── test_real_world.py │ │ ├── test_result.py │ │ ├── test_smoke.py │ │ ├── test_structure.py │ │ └── test_visitor.py │ ├── r/ │ │ ├── DESCRIPTION │ │ ├── run_tests.R │ │ └── tests/ │ │ ├── test_conversion.R │ │ ├── test_edge_cases.R │ │ ├── test_metadata.R │ │ ├── test_options.R │ │ ├── test_real_world.R │ │ ├── test_result.R │ │ ├── test_smoke.R │ │ ├── test_structure.R │ │ └── test_visitor.R │ ├── ruby/ │ │ ├── .rubocop.yaml │ │ ├── Gemfile │ │ └── spec/ │ │ ├── conversion_spec.rb │ │ ├── edge_cases_spec.rb │ │ ├── metadata_spec.rb │ │ ├── options_spec.rb │ │ ├── real_world_spec.rb │ │ ├── result_spec.rb │ │ ├── smoke_spec.rb │ │ ├── structure_spec.rb │ │ └── visitor_spec.rb │ ├── rust/ │ │ ├── Cargo.toml │ │ └── tests/ │ │ ├── conversion_test.rs │ │ ├── edge_cases_test.rs │ │ ├── metadata_test.rs │ │ ├── options_test.rs │ │ ├── real_world_test.rs │ │ ├── result_test.rs │ │ ├── smoke_test.rs │ │ ├── structure_test.rs │ │ └── visitor_test.rs │ ├── swift/ │ │ └── Package.swift │ ├── wasm/ │ │ ├── package.json │ │ ├── tests/ │ │ │ ├── conversion.test.ts │ │ │ ├── edge_cases.test.ts │ │ │ ├── metadata.test.ts │ │ │ ├── options.test.ts │ │ │ ├── real_world.test.ts │ │ │ ├── result.test.ts │ │ │ ├── smoke.test.ts │ │ │ ├── structure.test.ts │ │ │ └── visitor.test.ts │ │ ├── tsconfig.json │ │ └── vitest.config.ts │ └── zig/ │ ├── build.zig │ └── build.zig.zon ├── fixtures/ │ ├── conversion/ │ │ ├── blockquotes.json │ │ ├── code.json │ │ ├── emphasis.json │ │ ├── forms.json │ │ ├── headings.json │ │ ├── images.json │ │ ├── line_breaks.json │ │ ├── links.json │ │ ├── lists.json │ │ ├── paragraphs.json │ │ ├── semantic.json │ │ └── tables.json │ ├── edge-cases/ │ │ ├── empty.json │ │ ├── encoding.json │ │ ├── malformed.json │ │ ├── visitor_errors.json │ │ └── xss.json │ ├── metadata/ │ │ ├── basic.json │ │ ├── document_properties.json │ │ ├── links_and_images.json │ │ ├── open_graph.json │ │ └── structured_data.json │ ├── options/ │ │ ├── br_in_tables.json │ │ ├── code_block_style.json │ │ ├── code_options.json │ │ ├── escape_ascii.json │ │ ├── escaping.json │ │ ├── exclude_selectors.json │ │ ├── heading_style.json │ │ ├── highlight_style.json │ │ ├── inline_and_newlines.json │ │ ├── list_options.json │ │ ├── max_depth.json │ │ ├── newline_style.json │ │ ├── output_format.json │ │ ├── preprocessing.json │ │ ├── remaining_options.json │ │ ├── strong_em_symbol.json │ │ ├── sub_sup_symbols.json │ │ ├── tag_control.json │ │ ├── whitespace_mode.json │ │ └── wrapping.json │ ├── real-world/ │ │ └── articles.json │ ├── result/ │ │ ├── tables.json │ │ └── warnings.json │ ├── smoke/ │ │ └── basic.json │ ├── structure/ │ │ ├── basic.json │ │ └── nesting.json │ └── visitor/ │ ├── advanced_elements.json │ ├── basic.json │ ├── elements.json │ ├── formatting.json │ ├── forms_and_semantics.json │ ├── headings.json │ ├── images.json │ ├── links.json │ └── media.json ├── just ├── package.json ├── packages/ │ ├── csharp/ │ │ ├── .editorconfig │ │ ├── Directory.Build.props │ │ ├── HtmlToMarkdown/ │ │ │ ├── AnnotationKind.cs │ │ │ ├── CodeBlockStyle.cs │ │ │ ├── ConfigErrorException.cs │ │ │ ├── ConversionErrorException.cs │ │ │ ├── ConversionOptions.cs │ │ │ ├── ConversionOptionsBuilder.cs │ │ │ ├── ConversionOptionsUpdate.cs │ │ │ ├── ConversionResult.cs │ │ │ ├── DocumentMetadata.cs │ │ │ ├── DocumentNode.cs │ │ │ ├── DocumentStructure.cs │ │ │ ├── GridCell.cs │ │ │ ├── HeaderMetadata.cs │ │ │ ├── HeadingStyle.cs │ │ │ ├── HighlightStyle.cs │ │ │ ├── HtmlMetadata.cs │ │ │ ├── HtmlToMarkdown.csproj │ │ │ ├── HtmlToMarkdownRs.cs │ │ │ ├── HtmlToMarkdownRsException.cs │ │ │ ├── IVisitor.cs │ │ │ ├── ImageMetadata.cs │ │ │ ├── ImageType.cs │ │ │ ├── InvalidInputException.cs │ │ │ ├── IoErrorException.cs │ │ │ ├── LinkMetadata.cs │ │ │ ├── LinkStyle.cs │ │ │ ├── LinkType.cs │ │ │ ├── ListIndentType.cs │ │ │ ├── NativeMethods.cs │ │ │ ├── NewlineStyle.cs │ │ │ ├── NodeContent.cs │ │ │ ├── NodeContext.cs │ │ │ ├── NodeType.cs │ │ │ ├── OtherException.cs │ │ │ ├── OutputFormat.cs │ │ │ ├── PanicException.cs │ │ │ ├── ParseErrorException.cs │ │ │ ├── PreprocessingOptions.cs │ │ │ ├── PreprocessingOptionsUpdate.cs │ │ │ ├── PreprocessingPreset.cs │ │ │ ├── ProcessingWarning.cs │ │ │ ├── SanitizationErrorException.cs │ │ │ ├── StructuredData.cs │ │ │ ├── StructuredDataType.cs │ │ │ ├── TableData.cs │ │ │ ├── TableGrid.cs │ │ │ ├── TextAnnotation.cs │ │ │ ├── TextDirection.cs │ │ │ ├── TraitBridges.cs │ │ │ ├── VisitResult.cs │ │ │ ├── VisitorCallbacks.cs │ │ │ ├── VisitorHandle.cs │ │ │ ├── WarningKind.cs │ │ │ └── WhitespaceMode.cs │ │ ├── HtmlToMarkdown.Tests/ │ │ │ └── HtmlToMarkdown.Tests.csproj │ │ ├── HtmlToMarkdown.csproj │ │ └── README.md │ ├── elixir/ │ │ ├── .credo.exs │ │ ├── .formatter.exs │ │ ├── .gitignore │ │ ├── README.md │ │ ├── checksum-Elixir.HtmlToMarkdown.Native.exs │ │ ├── config/ │ │ │ └── config.exs │ │ ├── lib/ │ │ │ ├── html_to_markdown/ │ │ │ │ ├── annotation_kind.ex │ │ │ │ ├── code_block_style.ex │ │ │ │ ├── conversion_options.ex │ │ │ │ ├── conversion_options_update.ex │ │ │ │ ├── conversion_result.ex │ │ │ │ ├── document_metadata.ex │ │ │ │ ├── document_node.ex │ │ │ │ ├── document_structure.ex │ │ │ │ ├── grid_cell.ex │ │ │ │ ├── header_metadata.ex │ │ │ │ ├── heading_style.ex │ │ │ │ ├── highlight_style.ex │ │ │ │ ├── html_metadata.ex │ │ │ │ ├── html_visitor_bridge.ex │ │ │ │ ├── image_metadata.ex │ │ │ │ ├── image_type.ex │ │ │ │ ├── link_metadata.ex │ │ │ │ ├── link_style.ex │ │ │ │ ├── link_type.ex │ │ │ │ ├── list_indent_type.ex │ │ │ │ ├── native.ex │ │ │ │ ├── newline_style.ex │ │ │ │ ├── node_content.ex │ │ │ │ ├── node_context.ex │ │ │ │ ├── node_type.ex │ │ │ │ ├── output_format.ex │ │ │ │ ├── preprocessing_options.ex │ │ │ │ ├── preprocessing_options_update.ex │ │ │ │ ├── preprocessing_preset.ex │ │ │ │ ├── processing_warning.ex │ │ │ │ ├── structured_data.ex │ │ │ │ ├── structured_data_type.ex │ │ │ │ ├── table_data.ex │ │ │ │ ├── table_grid.ex │ │ │ │ ├── text_annotation.ex │ │ │ │ ├── text_direction.ex │ │ │ │ ├── visit_result.ex │ │ │ │ ├── warning_kind.ex │ │ │ │ └── whitespace_mode.ex │ │ │ └── html_to_markdown.ex │ │ ├── mix.exs │ │ ├── native/ │ │ │ └── html_to_markdown_nif/ │ │ │ ├── Cargo.toml │ │ │ └── src/ │ │ │ └── lib.rs │ │ └── test/ │ │ └── test_helper.exs │ ├── go/ │ │ ├── .golangci.yml │ │ ├── README.md │ │ ├── binding.go │ │ ├── go.mod │ │ └── v3/ │ │ └── README.md │ ├── java/ │ │ ├── README.md │ │ ├── checkstyle-suppressions.xml │ │ ├── checkstyle.properties │ │ ├── checkstyle.xml │ │ ├── eclipse-formatter.xml │ │ ├── pmd-ruleset.xml │ │ ├── pom.xml │ │ ├── pom.xml.versionsBackup │ │ ├── src/ │ │ │ └── main/ │ │ │ ├── java/ │ │ │ │ └── dev/ │ │ │ │ └── kreuzberg/ │ │ │ │ └── htmltomarkdown/ │ │ │ │ ├── AnnotationKind.java │ │ │ │ ├── CodeBlockStyle.java │ │ │ │ ├── ConfigErrorException.java │ │ │ │ ├── ConversionErrorException.java │ │ │ │ ├── ConversionOptions.java │ │ │ │ ├── ConversionOptionsBuilder.java │ │ │ │ ├── ConversionOptionsUpdate.java │ │ │ │ ├── ConversionOptionsUpdateBuilder.java │ │ │ │ ├── ConversionResult.java │ │ │ │ ├── ConversionResultBuilder.java │ │ │ │ ├── DocumentMetadata.java │ │ │ │ ├── DocumentMetadataBuilder.java │ │ │ │ ├── DocumentNode.java │ │ │ │ ├── DocumentStructure.java │ │ │ │ ├── GridCell.java │ │ │ │ ├── HeaderMetadata.java │ │ │ │ ├── HeadingStyle.java │ │ │ │ ├── HighlightStyle.java │ │ │ │ ├── HtmlMetadata.java │ │ │ │ ├── HtmlMetadataBuilder.java │ │ │ │ ├── HtmlToMarkdown.java │ │ │ │ ├── HtmlToMarkdownRs.java │ │ │ │ ├── HtmlToMarkdownRsException.java │ │ │ │ ├── HtmlVisitorBridge.java │ │ │ │ ├── IHtmlVisitor.java │ │ │ │ ├── ImageMetadata.java │ │ │ │ ├── ImageType.java │ │ │ │ ├── InvalidInputException.java │ │ │ │ ├── IoErrorException.java │ │ │ │ ├── LinkMetadata.java │ │ │ │ ├── LinkStyle.java │ │ │ │ ├── LinkType.java │ │ │ │ ├── ListIndentType.java │ │ │ │ ├── NativeLib.java │ │ │ │ ├── NewlineStyle.java │ │ │ │ ├── NodeContent.java │ │ │ │ ├── NodeContext.java │ │ │ │ ├── NodeType.java │ │ │ │ ├── OtherException.java │ │ │ │ ├── OutputFormat.java │ │ │ │ ├── PanicException.java │ │ │ │ ├── ParseErrorException.java │ │ │ │ ├── PreprocessingOptions.java │ │ │ │ ├── PreprocessingOptionsBuilder.java │ │ │ │ ├── PreprocessingOptionsUpdate.java │ │ │ │ ├── PreprocessingOptionsUpdateBuilder.java │ │ │ │ ├── PreprocessingPreset.java │ │ │ │ ├── ProcessingWarning.java │ │ │ │ ├── SanitizationErrorException.java │ │ │ │ ├── StructuredData.java │ │ │ │ ├── StructuredDataType.java │ │ │ │ ├── TableData.java │ │ │ │ ├── TableGrid.java │ │ │ │ ├── TableGridBuilder.java │ │ │ │ ├── TestVisitor.java │ │ │ │ ├── TestVisitorAdapter.java │ │ │ │ ├── TextAnnotation.java │ │ │ │ ├── TextDirection.java │ │ │ │ ├── VisitContext.java │ │ │ │ ├── VisitResult.java │ │ │ │ ├── Visitor.java │ │ │ │ ├── VisitorBridge.java │ │ │ │ ├── VisitorHandle.java │ │ │ │ ├── WarningKind.java │ │ │ │ ├── WhitespaceMode.java │ │ │ │ └── package-info.java │ │ │ └── resources/ │ │ │ └── .gitkeep │ │ └── versions-rules.xml │ ├── node/ │ │ ├── .oxfmtrc.json │ │ ├── .oxlintrc.json │ │ ├── biome.json │ │ ├── index.d.ts │ │ ├── package.json │ │ ├── src/ │ │ │ └── index.d.ts │ │ └── tsconfig.json │ ├── php/ │ │ ├── .gitignore │ │ ├── .php-cs-fixer.dist.php │ │ ├── README.md │ │ ├── composer.json │ │ ├── php-cs-fixer.php │ │ ├── phpstan-baseline.neon │ │ ├── phpstan-test.neon │ │ ├── phpstan.neon │ │ ├── phpunit.xml │ │ ├── src/ │ │ │ ├── HtmlToMarkdown.php │ │ │ └── functions.php │ │ ├── stubs/ │ │ │ └── html_to_markdown_extension.php │ │ └── tests/ │ │ └── .gitkeep │ ├── python/ │ │ ├── LICENSE │ │ ├── README.md │ │ ├── html_to_markdown/ │ │ │ ├── __init__.py │ │ │ ├── _html_to_markdown.pyi │ │ │ ├── api.py │ │ │ ├── exceptions.py │ │ │ ├── options.py │ │ │ └── py.typed │ │ ├── pyproject.toml │ │ └── tests/ │ │ └── commonmark_spec.json │ ├── r/ │ │ ├── .Rbuildignore │ │ ├── .gitignore │ │ ├── .lintr │ │ ├── DESCRIPTION │ │ ├── LICENSE │ │ ├── NAMESPACE │ │ ├── R/ │ │ │ ├── extendr-wrappers.R │ │ │ ├── htmltomarkdown-package.R │ │ │ ├── htmltomarkdown.R │ │ │ ├── options.R │ │ │ └── version.R │ │ ├── README.md │ │ ├── cleanup │ │ ├── cleanup.win │ │ ├── configure │ │ ├── configure.win │ │ ├── inst/ │ │ │ └── AUTHORS │ │ ├── man/ │ │ │ ├── conversion_options.Rd │ │ │ ├── convert.Rd │ │ │ ├── htmltomarkdown-package.Rd │ │ │ └── version.Rd │ │ ├── src/ │ │ │ ├── Makevars.in │ │ │ ├── Makevars.win.in │ │ │ ├── entrypoint.c │ │ │ └── rust/ │ │ │ ├── Cargo.toml │ │ │ ├── src/ │ │ │ │ ├── lib.rs │ │ │ │ ├── options.rs │ │ │ │ └── types.rs │ │ │ └── vendor-config.toml │ │ ├── tests/ │ │ │ └── testthat.R │ │ └── tools/ │ │ ├── config.R │ │ └── msrv.R │ ├── ruby/ │ │ ├── .gitignore │ │ ├── .rubocop.yml │ │ ├── Gemfile │ │ ├── README.md │ │ ├── Rakefile │ │ ├── Steepfile │ │ ├── exe/ │ │ │ └── html-to-markdown │ │ ├── ext/ │ │ │ └── html_to_markdown_rb/ │ │ │ ├── Cargo.toml │ │ │ ├── Makefile │ │ │ ├── extconf.rb │ │ │ ├── native/ │ │ │ │ └── Cargo.toml │ │ │ └── src/ │ │ │ ├── html-to-markdown/ │ │ │ │ └── version.rb │ │ │ ├── html-to-markdown.rb │ │ │ └── lib.rs │ │ ├── html_to_markdown.gemspec │ │ ├── lib/ │ │ │ ├── html_to_markdown/ │ │ │ │ └── version.rb │ │ │ └── html_to_markdown.rb │ │ ├── sig/ │ │ │ ├── html_to_markdown/ │ │ │ │ ├── cli.rbs │ │ │ │ └── cli_proxy.rbs │ │ │ ├── open3.rbs │ │ │ └── types.rbs │ │ └── spec/ │ │ ├── html_to_markdown_spec.rb │ │ └── spec_helper.rb │ ├── typescript/ │ │ ├── .npmignore │ │ ├── README.md │ │ ├── index.d.ts │ │ ├── package.json │ │ ├── src/ │ │ │ ├── helpers.ts │ │ │ └── index.ts │ │ └── tsconfig.json │ └── wasm/ │ └── src/ │ ├── helpers.ts │ └── index.ts ├── pnpm-workspace.yaml ├── pyproject.toml ├── readme_templates/ │ ├── language_package.md │ └── partials/ │ ├── _api_reference.md │ ├── _badges.md │ ├── _djot_output.md │ ├── _footer.md │ ├── _installation.md │ ├── _metadata_extraction.md │ ├── _plain_text_output.md │ ├── _quick_start.md │ └── _visitor_pattern.md ├── rust-toolchain.toml ├── rustfmt.toml ├── scripts/ │ ├── build-demo.sh │ ├── ci/ │ │ ├── elixir/ │ │ │ ├── install-deps.sh │ │ │ ├── install-hex-rebar.sh │ │ │ ├── run-credo.sh │ │ │ └── run-tests.sh │ │ ├── go/ │ │ │ ├── detect-go-modules.sh │ │ │ ├── install-golangci-lint.sh │ │ │ └── run-golangci-lint.sh │ │ ├── node/ │ │ │ ├── test-napi-cargo.sh │ │ │ ├── test-napi.sh │ │ │ └── test-typescript.sh │ │ ├── php/ │ │ │ ├── run-php-tests.sh │ │ │ ├── run-phpstan.sh │ │ │ └── set-php-config.sh │ │ ├── python/ │ │ │ ├── build-cli.sh │ │ │ └── run-pytest.sh │ │ ├── r/ │ │ │ ├── install-deps.sh │ │ │ ├── run-lintr.sh │ │ │ ├── run-tests.sh │ │ │ └── vendor-core-crate.py │ │ ├── ruby/ │ │ │ ├── run-rbs-validate.sh │ │ │ ├── run-rspec-unix.sh │ │ │ ├── run-rspec-windows.ps1 │ │ │ ├── run-rubocop.sh │ │ │ ├── run-steep.sh │ │ │ └── vendor-core-crate.py │ │ ├── rust/ │ │ │ ├── check-fmt.sh │ │ │ ├── install-cargo-llvm-cov.sh │ │ │ ├── run-clippy.sh │ │ │ ├── run-llvm-cov.sh │ │ │ └── run-tests.sh │ │ ├── smoke/ │ │ │ ├── capture-php-config.sh │ │ │ └── install-pnpm-deps.sh │ │ ├── validate/ │ │ │ ├── install-elixir-deps.sh │ │ │ ├── install-ruby-deps.sh │ │ │ ├── run-prek.sh │ │ │ └── run-rust-checks.sh │ │ └── wasm/ │ │ ├── run-wasmtime-tests.sh │ │ ├── test-wasm-bundle.sh │ │ └── test-wasm-rust.sh │ ├── common/ │ │ ├── enable-corepack.sh │ │ ├── ensure-wasm-target.sh │ │ ├── install-maven-latest.sh │ │ └── install-wasm-pack.sh │ ├── generate_visitor_callbacks.py │ ├── preferred-ruby.sh │ ├── preferred-rustc.sh │ ├── prepare_ruby_gem.rb │ ├── prepare_wheel.py │ ├── publish/ │ │ ├── cli/ │ │ │ ├── build-cli.sh │ │ │ ├── configure-cross-linker.sh │ │ │ ├── install-build-deps-linux.sh │ │ │ ├── install-cross.sh │ │ │ ├── package-cli-artifact.ps1 │ │ │ └── package-cli-artifact.sh │ │ ├── common/ │ │ │ ├── add-rust-target.sh │ │ │ └── ensure-target-commit.sh │ │ ├── crates/ │ │ │ ├── package-crates.sh │ │ │ ├── publish-cli.sh │ │ │ ├── publish-rs.sh │ │ │ ├── verify-cargo-version.sh │ │ │ └── wait-for-indexing.sh │ │ ├── csharp/ │ │ │ ├── pack.sh │ │ │ ├── restore.sh │ │ │ └── stage-ffi.sh │ │ ├── elixir/ │ │ │ ├── build-hex-package.sh │ │ │ ├── install-deps.sh │ │ │ ├── install-hex-rebar.sh │ │ │ ├── run-tests.sh │ │ │ ├── stage-rust-core.sh │ │ │ └── vendor-dependencies.sh │ │ ├── ensure-github-release-exists.sh │ │ ├── generate_elixir_checksums.sh │ │ ├── go/ │ │ │ └── create-module-tag.sh │ │ ├── java/ │ │ │ └── copy-native-libs.sh │ │ ├── maven/ │ │ │ ├── patch-legacy-gpg-args.sh │ │ │ └── prefer-gpg2.sh │ │ ├── node/ │ │ │ ├── build-native-module.ps1 │ │ │ ├── build-native-module.sh │ │ │ ├── clean-npm-dir.ps1 │ │ │ ├── clean-npm-dir.sh │ │ │ ├── create-npm-package-structure.sh │ │ │ ├── generate-typescript-defs.sh │ │ │ ├── install-node-deps.sh │ │ │ ├── pack-platform-packages.sh │ │ │ ├── package-artifacts.ps1 │ │ │ ├── package-artifacts.sh │ │ │ ├── prepare-artifact-directory.sh │ │ │ └── prepublish-main-package.sh │ │ ├── python/ │ │ │ ├── build-cli-for-sdist.sh │ │ │ ├── build-sdist.sh │ │ │ ├── install-build-deps.sh │ │ │ └── prepare-sdist-with-cli.sh │ │ ├── r/ │ │ │ ├── already-published-summary.sh │ │ │ ├── build-cran-package.sh │ │ │ ├── run-tests.sh │ │ │ ├── stage-rust-core.sh │ │ │ └── vendor-dependencies.sh │ │ ├── ruby/ │ │ │ ├── already-published-summary.sh │ │ │ ├── build-gem-unix.sh │ │ │ ├── build-gem-windows.ps1 │ │ │ ├── build-native-gem.rb │ │ │ ├── configure-bindgen-windows.sh │ │ │ ├── install-deps-unix.sh │ │ │ ├── install-deps-windows.ps1 │ │ │ ├── install-msys2-toolchain.ps1 │ │ │ ├── install-rust-gnu.ps1 │ │ │ └── remove-cached-cli.sh │ │ ├── typescript/ │ │ │ └── build-package.sh │ │ ├── upload-c-ffi-artifacts.sh │ │ ├── upload-cli-artifacts.sh │ │ ├── upload-elixir-package.sh │ │ ├── upload-go-ffi-artifacts.sh │ │ ├── upload-homebrew-bottles.sh │ │ ├── upload-php-pie.sh │ │ ├── validate-and-compute-metadata.sh │ │ └── wasm/ │ │ ├── build-bundles.sh │ │ ├── extract-artifacts.sh │ │ ├── install-deps.sh │ │ └── package-artifacts.sh │ ├── readme_config.yaml │ ├── readme_templates/ │ │ ├── language_package.md.jinja │ │ └── partials/ │ │ ├── _api_reference.md.jinja │ │ ├── _badges.md.jinja │ │ ├── _djot_output.md.jinja │ │ ├── _footer.md.jinja │ │ ├── _installation.md.jinja │ │ ├── _metadata_extraction.md.jinja │ │ ├── _plain_text_output.md.jinja │ │ ├── _quick_start.md.jinja │ │ └── _visitor_pattern.md.jinja │ └── update_dotnet_packages.py ├── skills/ │ └── html-to-markdown/ │ ├── SKILL.md │ └── references/ │ ├── cli-reference.md │ ├── configuration.md │ ├── other-bindings.md │ ├── python-api.md │ ├── rust-api.md │ └── typescript-api.md ├── test_apps/ │ ├── README.md │ ├── bun/ │ │ ├── README.md │ │ ├── package.json │ │ └── smoke.test.ts │ ├── c/ │ │ ├── .gitignore │ │ ├── Makefile │ │ ├── README.md │ │ ├── download_ffi.sh │ │ ├── htm_test │ │ ├── main.c │ │ ├── run_tests │ │ ├── test_conversion.c │ │ ├── test_runner.h │ │ └── test_smoke.c │ ├── csharp/ │ │ ├── E2eTests.csproj │ │ ├── KreuzbergDev.HtmlToMarkdown.E2eTests.csproj │ │ ├── README.md │ │ └── tests/ │ │ ├── ConversionTests.cs │ │ └── SmokeTests.cs │ ├── elixir/ │ │ ├── README.md │ │ ├── deps/ │ │ │ ├── html_to_markdown/ │ │ │ │ ├── .formatter.exs │ │ │ │ ├── .hex │ │ │ │ ├── README.md │ │ │ │ ├── checksum-Elixir.HtmlToMarkdown.Native.exs │ │ │ │ ├── hex_metadata.config │ │ │ │ └── mix.exs │ │ │ ├── jason/ │ │ │ │ ├── .hex │ │ │ │ ├── CHANGELOG.md │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── hex_metadata.config │ │ │ │ └── mix.exs │ │ │ ├── rustler/ │ │ │ │ ├── .hex │ │ │ │ ├── README.md │ │ │ │ ├── hex_metadata.config │ │ │ │ ├── mix.exs │ │ │ │ └── priv/ │ │ │ │ └── templates/ │ │ │ │ ├── basic/ │ │ │ │ │ ├── Cargo.toml.eex │ │ │ │ │ ├── README.md │ │ │ │ │ └── src/ │ │ │ │ │ └── lib.rs │ │ │ │ └── root/ │ │ │ │ └── Cargo.toml.eex │ │ │ ├── rustler_precompiled/ │ │ │ │ ├── .hex │ │ │ │ ├── CHANGELOG.md │ │ │ │ ├── PRECOMPILATION_GUIDE.md │ │ │ │ ├── README.md │ │ │ │ ├── TROUBLESHOOTING.md │ │ │ │ ├── hex_metadata.config │ │ │ │ └── mix.exs │ │ │ └── toml/ │ │ │ ├── .hex │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── hex_metadata.config │ │ │ └── mix.exs │ │ ├── mix.exs │ │ └── test/ │ │ ├── conversion_test.exs │ │ ├── smoke_test.exs │ │ └── test_helper.exs │ ├── fixtures/ │ │ ├── README.md │ │ ├── basic-html.json │ │ ├── complex-html.json │ │ ├── edge-cases.json │ │ ├── metadata-extraction.json │ │ └── real-world.json │ ├── go/ │ │ ├── README.md │ │ ├── conversion_test.go │ │ ├── go.mod │ │ ├── go.sum │ │ ├── run_tests.sh │ │ └── smoke_test.go │ ├── java/ │ │ ├── .mvn/ │ │ │ └── wrapper/ │ │ │ └── maven-wrapper.properties │ │ ├── README.md │ │ ├── mvnw │ │ ├── mvnw.cmd │ │ ├── pom.xml │ │ └── src/ │ │ └── test/ │ │ └── java/ │ │ └── dev/ │ │ └── kreuzberg/ │ │ ├── e2e/ │ │ │ ├── ConversionTest.java │ │ │ └── SmokeTest.java │ │ └── htmltomarkdown/ │ │ └── e2e/ │ │ ├── ConversionTest.java │ │ └── SmokeTest.java │ ├── node/ │ │ ├── .nvmrc │ │ ├── README.md │ │ ├── package.json │ │ ├── tests/ │ │ │ ├── conversion.test.ts │ │ │ └── smoke.test.ts │ │ ├── tsconfig.json │ │ └── vitest.config.ts │ ├── php/ │ │ ├── README.md │ │ ├── bootstrap.php │ │ ├── composer.json │ │ ├── phpstan.neon │ │ ├── phpunit.xml │ │ └── tests/ │ │ ├── ConversionTest.php │ │ └── SmokeTest.php │ ├── php-ext/ │ │ ├── README.md │ │ ├── main.php │ │ └── run_tests.sh │ ├── python/ │ │ ├── .python-version │ │ ├── README.md │ │ ├── __init__.py │ │ ├── conftest.py │ │ ├── pyproject.toml │ │ └── tests/ │ │ ├── __init__.py │ │ ├── test_conversion.py │ │ └── test_smoke.py │ ├── r/ │ │ ├── DESCRIPTION │ │ ├── run_tests.R │ │ └── tests/ │ │ ├── test_conversion.R │ │ └── test_smoke.R │ ├── ruby/ │ │ ├── .bundle/ │ │ │ └── config │ │ ├── .rubocop.yaml │ │ ├── .ruby-version │ │ ├── Gemfile │ │ ├── README.md │ │ └── spec/ │ │ ├── conversion_spec.rb │ │ └── smoke_spec.rb │ ├── rust/ │ │ ├── Cargo.toml │ │ └── tests/ │ │ ├── conversion_test.rs │ │ └── smoke_test.rs │ └── wasm/ │ ├── .nvmrc │ ├── README.md │ ├── globalSetup.ts │ ├── package.json │ ├── tests/ │ │ ├── conversion.test.ts │ │ └── smoke.test.ts │ ├── tsconfig.json │ └── vitest.config.ts ├── test_documents/ │ └── html/ │ ├── issues/ │ │ ├── gh-121-hacker-news.html │ │ ├── gh-121-hacker-news.md │ │ ├── gh-121-minimal-failing.html │ │ ├── gh-121-spa-app.html │ │ ├── gh-121-spa-app.md │ │ ├── gh-127-issue.html │ │ ├── gh-134-pre-code.html │ │ ├── gh-134-pre-code.md │ │ ├── gh-140-table-cell-pipe-with-escape-misc.md │ │ ├── gh-140-table-cell-pipe.html │ │ ├── gh-140-table-cell-pipe.md │ │ ├── gh-143-links-wordwrap.html │ │ ├── gh-143-links-wordwrap.md │ │ ├── gh-190/ │ │ │ ├── firsteigen.html │ │ │ ├── flex2021.html │ │ │ ├── flex2025.html │ │ │ ├── insight.html │ │ │ ├── kimbrain.html │ │ │ ├── maxkim.html │ │ │ ├── mitrade.html │ │ │ ├── ozonekorea.html │ │ │ ├── plusblog.html │ │ │ ├── rbloggers.html │ │ │ ├── sjsu.html │ │ │ └── vipaarontours.html │ │ ├── test-nested-simple.html │ │ ├── test-nested-simple.md │ │ └── test-with-custom-elements.html │ ├── visitor/ │ │ ├── baseline.html │ │ ├── callbacks.html │ │ ├── complex.html │ │ └── custom.html │ └── wikipedia/ │ ├── large_rust.html │ ├── lists_timeline.html │ ├── medium_python.html │ ├── small_html.html │ └── tables_countries.html ├── tsconfig.base.json └── zensical.toml