html-to-markdown 2.5.0__tar.gz → 2.5.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of html-to-markdown might be problematic. Click here for more details.

Files changed (54) hide show
  1. {html_to_markdown-2.5.0 → html_to_markdown-2.5.2}/Cargo.lock +252 -96
  2. {html_to_markdown-2.5.0 → html_to_markdown-2.5.2}/Cargo.toml +5 -2
  3. {html_to_markdown-2.5.0 → html_to_markdown-2.5.2}/PKG-INFO +2 -2
  4. {html_to_markdown-2.5.0 → html_to_markdown-2.5.2}/README_PYPI.md +1 -1
  5. {html_to_markdown-2.5.0 → html_to_markdown-2.5.2}/crates/html-to-markdown/README.md +3 -0
  6. {html_to_markdown-2.5.0 → html_to_markdown-2.5.2}/crates/html-to-markdown-py/README.md +19 -1
  7. {html_to_markdown-2.5.0 → html_to_markdown-2.5.2}/html_to_markdown/__init__.py +1 -1
  8. {html_to_markdown-2.5.0 → html_to_markdown-2.5.2}/html_to_markdown/bin/html-to-markdown +0 -0
  9. {html_to_markdown-2.5.0 → html_to_markdown-2.5.2}/pyproject.toml +3 -3
  10. {html_to_markdown-2.5.0 → html_to_markdown-2.5.2}/LICENSE +0 -0
  11. {html_to_markdown-2.5.0 → html_to_markdown-2.5.2}/crates/html-to-markdown/Cargo.toml +0 -0
  12. {html_to_markdown-2.5.0 → html_to_markdown-2.5.2}/crates/html-to-markdown/benches/conversion_benchmark.rs +0 -0
  13. {html_to_markdown-2.5.0 → html_to_markdown-2.5.2}/crates/html-to-markdown/benches/micro_benchmark.rs +0 -0
  14. {html_to_markdown-2.5.0 → html_to_markdown-2.5.2}/crates/html-to-markdown/benches/profiling_benchmark.rs +0 -0
  15. {html_to_markdown-2.5.0 → html_to_markdown-2.5.2}/crates/html-to-markdown/examples/basic.rs +0 -0
  16. {html_to_markdown-2.5.0 → html_to_markdown-2.5.2}/crates/html-to-markdown/examples/table.rs +0 -0
  17. {html_to_markdown-2.5.0 → html_to_markdown-2.5.2}/crates/html-to-markdown/examples/test_escape.rs +0 -0
  18. {html_to_markdown-2.5.0 → html_to_markdown-2.5.2}/crates/html-to-markdown/examples/test_inline_formatting.rs +0 -0
  19. {html_to_markdown-2.5.0 → html_to_markdown-2.5.2}/crates/html-to-markdown/examples/test_lists.rs +0 -0
  20. {html_to_markdown-2.5.0 → html_to_markdown-2.5.2}/crates/html-to-markdown/examples/test_semantic_tags.rs +0 -0
  21. {html_to_markdown-2.5.0 → html_to_markdown-2.5.2}/crates/html-to-markdown/examples/test_tables.rs +0 -0
  22. {html_to_markdown-2.5.0 → html_to_markdown-2.5.2}/crates/html-to-markdown/examples/test_task_lists.rs +0 -0
  23. {html_to_markdown-2.5.0 → html_to_markdown-2.5.2}/crates/html-to-markdown/examples/test_whitespace.rs +0 -0
  24. {html_to_markdown-2.5.0 → html_to_markdown-2.5.2}/crates/html-to-markdown/src/converter.rs +0 -0
  25. {html_to_markdown-2.5.0 → html_to_markdown-2.5.2}/crates/html-to-markdown/src/error.rs +0 -0
  26. {html_to_markdown-2.5.0 → html_to_markdown-2.5.2}/crates/html-to-markdown/src/hocr/converter.rs +0 -0
  27. {html_to_markdown-2.5.0 → html_to_markdown-2.5.2}/crates/html-to-markdown/src/hocr/extractor.rs +0 -0
  28. {html_to_markdown-2.5.0 → html_to_markdown-2.5.2}/crates/html-to-markdown/src/hocr/mod.rs +0 -0
  29. {html_to_markdown-2.5.0 → html_to_markdown-2.5.2}/crates/html-to-markdown/src/hocr/parser.rs +0 -0
  30. {html_to_markdown-2.5.0 → html_to_markdown-2.5.2}/crates/html-to-markdown/src/hocr/spatial.rs +0 -0
  31. {html_to_markdown-2.5.0 → html_to_markdown-2.5.2}/crates/html-to-markdown/src/hocr/types.rs +0 -0
  32. {html_to_markdown-2.5.0 → html_to_markdown-2.5.2}/crates/html-to-markdown/src/inline_images.rs +0 -0
  33. {html_to_markdown-2.5.0 → html_to_markdown-2.5.2}/crates/html-to-markdown/src/lib.rs +0 -0
  34. {html_to_markdown-2.5.0 → html_to_markdown-2.5.2}/crates/html-to-markdown/src/options.rs +0 -0
  35. {html_to_markdown-2.5.0 → html_to_markdown-2.5.2}/crates/html-to-markdown/src/sanitizer.rs +0 -0
  36. {html_to_markdown-2.5.0 → html_to_markdown-2.5.2}/crates/html-to-markdown/src/text.rs +0 -0
  37. {html_to_markdown-2.5.0 → html_to_markdown-2.5.2}/crates/html-to-markdown/src/wrapper.rs +0 -0
  38. {html_to_markdown-2.5.0 → html_to_markdown-2.5.2}/crates/html-to-markdown/tests/commonmark_compliance_test.rs +0 -0
  39. {html_to_markdown-2.5.0 → html_to_markdown-2.5.2}/crates/html-to-markdown/tests/hocr_compliance_test.rs +0 -0
  40. {html_to_markdown-2.5.0 → html_to_markdown-2.5.2}/crates/html-to-markdown/tests/integration_test.rs +0 -0
  41. {html_to_markdown-2.5.0 → html_to_markdown-2.5.2}/crates/html-to-markdown-py/Cargo.toml +0 -0
  42. {html_to_markdown-2.5.0 → html_to_markdown-2.5.2}/crates/html-to-markdown-py/python/html_to_markdown/__init__.py +0 -0
  43. {html_to_markdown-2.5.0 → html_to_markdown-2.5.2}/crates/html-to-markdown-py/python/html_to_markdown/_html_to_markdown.pyi +0 -0
  44. {html_to_markdown-2.5.0 → html_to_markdown-2.5.2}/crates/html-to-markdown-py/src/lib.rs +0 -0
  45. {html_to_markdown-2.5.0 → html_to_markdown-2.5.2}/crates/html-to-markdown-py/uv.lock +0 -0
  46. {html_to_markdown-2.5.0 → html_to_markdown-2.5.2}/html_to_markdown/__main__.py +0 -0
  47. {html_to_markdown-2.5.0 → html_to_markdown-2.5.2}/html_to_markdown/_rust.pyi +0 -0
  48. {html_to_markdown-2.5.0 → html_to_markdown-2.5.2}/html_to_markdown/api.py +0 -0
  49. {html_to_markdown-2.5.0 → html_to_markdown-2.5.2}/html_to_markdown/cli.py +0 -0
  50. {html_to_markdown-2.5.0 → html_to_markdown-2.5.2}/html_to_markdown/cli_proxy.py +0 -0
  51. {html_to_markdown-2.5.0 → html_to_markdown-2.5.2}/html_to_markdown/exceptions.py +0 -0
  52. {html_to_markdown-2.5.0 → html_to_markdown-2.5.2}/html_to_markdown/options.py +0 -0
  53. {html_to_markdown-2.5.0 → html_to_markdown-2.5.2}/html_to_markdown/py.typed +0 -0
  54. {html_to_markdown-2.5.0 → html_to_markdown-2.5.2}/html_to_markdown/v1_compat.py +0 -0
@@ -10,9 +10,9 @@ checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa"
10
10
 
11
11
  [[package]]
12
12
  name = "aho-corasick"
13
- version = "1.1.3"
13
+ version = "1.1.4"
14
14
  source = "registry+https://github.com/rust-lang/crates.io-index"
15
- checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916"
15
+ checksum = "ddd31a130427c27518df266943a5308ed92d4b226cc639f5a8f1002816174301"
16
16
  dependencies = [
17
17
  "memchr",
18
18
  ]
@@ -88,13 +88,12 @@ dependencies = [
88
88
 
89
89
  [[package]]
90
90
  name = "assert_cmd"
91
- version = "2.0.17"
91
+ version = "2.1.0"
92
92
  source = "registry+https://github.com/rust-lang/crates.io-index"
93
- checksum = "2bd389a4b2970a01282ee455294913c0a43724daedcd1a24c3eb0ec1c1320b66"
93
+ checksum = "ade3e59755df470dc884dbd126416d098b783b193fdc1981b392eb79398a57a3"
94
94
  dependencies = [
95
95
  "anstyle",
96
96
  "bstr",
97
- "doc-comment",
98
97
  "libc",
99
98
  "predicates",
100
99
  "predicates-core",
@@ -114,6 +113,26 @@ version = "0.22.1"
114
113
  source = "registry+https://github.com/rust-lang/crates.io-index"
115
114
  checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6"
116
115
 
116
+ [[package]]
117
+ name = "bindgen"
118
+ version = "0.69.5"
119
+ source = "registry+https://github.com/rust-lang/crates.io-index"
120
+ checksum = "271383c67ccabffb7381723dea0672a673f292304fcb45c01cc648c7a8d58088"
121
+ dependencies = [
122
+ "bitflags",
123
+ "cexpr",
124
+ "clang-sys",
125
+ "itertools 0.12.1",
126
+ "lazy_static",
127
+ "lazycell",
128
+ "proc-macro2",
129
+ "quote",
130
+ "regex",
131
+ "rustc-hash 1.1.0",
132
+ "shlex",
133
+ "syn",
134
+ ]
135
+
117
136
  [[package]]
118
137
  name = "bitflags"
119
138
  version = "2.10.0"
@@ -122,9 +141,9 @@ checksum = "812e12b5285cc515a9c72a5c1d3b6d46a19dac5acfef5265968c166106e31dd3"
122
141
 
123
142
  [[package]]
124
143
  name = "bstr"
125
- version = "1.12.0"
144
+ version = "1.12.1"
126
145
  source = "registry+https://github.com/rust-lang/crates.io-index"
127
- checksum = "234113d19d0d7d613b40e86fb654acf958910802bcceab913a4f9e7cda03b1a4"
146
+ checksum = "63044e1ae8e69f3b5a92c736ca6269b8d12fa7efe39bf34ddb06d102cf0e2cab"
128
147
  dependencies = [
129
148
  "memchr",
130
149
  "regex-automata",
@@ -157,14 +176,23 @@ checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5"
157
176
 
158
177
  [[package]]
159
178
  name = "cc"
160
- version = "1.2.42"
179
+ version = "1.2.43"
161
180
  source = "registry+https://github.com/rust-lang/crates.io-index"
162
- checksum = "81bbf3b3619004ad9bd139f62a9ab5cfe467f307455a0d307b0cf58bf070feaa"
181
+ checksum = "739eb0f94557554b3ca9a86d2d37bebd49c5e6d0c1d2bda35ba5bdac830befc2"
163
182
  dependencies = [
164
183
  "find-msvc-tools",
165
184
  "shlex",
166
185
  ]
167
186
 
187
+ [[package]]
188
+ name = "cexpr"
189
+ version = "0.6.0"
190
+ source = "registry+https://github.com/rust-lang/crates.io-index"
191
+ checksum = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766"
192
+ dependencies = [
193
+ "nom",
194
+ ]
195
+
168
196
  [[package]]
169
197
  name = "cfg-if"
170
198
  version = "1.0.4"
@@ -198,6 +226,17 @@ dependencies = [
198
226
  "half",
199
227
  ]
200
228
 
229
+ [[package]]
230
+ name = "clang-sys"
231
+ version = "1.8.1"
232
+ source = "registry+https://github.com/rust-lang/crates.io-index"
233
+ checksum = "0b023947811758c97c59bf9d1c188fd619ad4718dcaa767947df1cadb14f39f4"
234
+ dependencies = [
235
+ "glob",
236
+ "libc",
237
+ "libloading",
238
+ ]
239
+
201
240
  [[package]]
202
241
  name = "clap"
203
242
  version = "4.5.50"
@@ -308,7 +347,7 @@ dependencies = [
308
347
  "ciborium",
309
348
  "clap",
310
349
  "criterion-plot",
311
- "itertools",
350
+ "itertools 0.13.0",
312
351
  "num-traits",
313
352
  "oorandom",
314
353
  "plotters",
@@ -327,7 +366,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
327
366
  checksum = "9b1bcc0dc7dfae599d84ad0b1a55f80cde8af3725da8313b528da95ef783e338"
328
367
  dependencies = [
329
368
  "cast",
330
- "itertools",
369
+ "itertools 0.13.0",
331
370
  ]
332
371
 
333
372
  [[package]]
@@ -406,6 +445,12 @@ version = "0.2.2"
406
445
  source = "registry+https://github.com/rust-lang/crates.io-index"
407
446
  checksum = "b365fabc795046672053e29c954733ec3b05e4be654ab130fe8f1f94d7051f35"
408
447
 
448
+ [[package]]
449
+ name = "diff"
450
+ version = "0.1.13"
451
+ source = "registry+https://github.com/rust-lang/crates.io-index"
452
+ checksum = "56254986775e3233ffa9c4d7d3faaf6d36a2c09d30b20687e9f88bc8bafc16c8"
453
+
409
454
  [[package]]
410
455
  name = "difflib"
411
456
  version = "0.4.0"
@@ -423,12 +468,6 @@ dependencies = [
423
468
  "syn",
424
469
  ]
425
470
 
426
- [[package]]
427
- name = "doc-comment"
428
- version = "0.3.4"
429
- source = "registry+https://github.com/rust-lang/crates.io-index"
430
- checksum = "780955b8b195a21ab8e4ac6b60dd1dbdcec1dc6c51c0617964b08c81785e12c9"
431
-
432
471
  [[package]]
433
472
  name = "dtoa"
434
473
  version = "1.0.10"
@@ -565,6 +604,12 @@ dependencies = [
565
604
  "weezl",
566
605
  ]
567
606
 
607
+ [[package]]
608
+ name = "glob"
609
+ version = "0.3.3"
610
+ source = "registry+https://github.com/rust-lang/crates.io-index"
611
+ checksum = "0cc23270f6e1808e30a928bdc84dea0b9b4136a8bc82338574f23baf47bbd280"
612
+
568
613
  [[package]]
569
614
  name = "half"
570
615
  version = "2.7.1"
@@ -593,7 +638,7 @@ dependencies = [
593
638
 
594
639
  [[package]]
595
640
  name = "html-to-markdown-cli"
596
- version = "2.5.0"
641
+ version = "2.5.2"
597
642
  dependencies = [
598
643
  "assert_cmd",
599
644
  "clap",
@@ -607,7 +652,7 @@ dependencies = [
607
652
 
608
653
  [[package]]
609
654
  name = "html-to-markdown-node"
610
- version = "2.5.0"
655
+ version = "2.5.2"
611
656
  dependencies = [
612
657
  "html-to-markdown-rs",
613
658
  "mimalloc-rust",
@@ -618,7 +663,7 @@ dependencies = [
618
663
 
619
664
  [[package]]
620
665
  name = "html-to-markdown-py"
621
- version = "2.5.0"
666
+ version = "2.5.2"
622
667
  dependencies = [
623
668
  "base64",
624
669
  "html-to-markdown-rs",
@@ -626,9 +671,18 @@ dependencies = [
626
671
  "pyo3",
627
672
  ]
628
673
 
674
+ [[package]]
675
+ name = "html-to-markdown-rb"
676
+ version = "2.5.2"
677
+ dependencies = [
678
+ "html-to-markdown-rs",
679
+ "magnus",
680
+ "pretty_assertions",
681
+ ]
682
+
629
683
  [[package]]
630
684
  name = "html-to-markdown-rs"
631
- version = "2.5.0"
685
+ version = "2.5.2"
632
686
  dependencies = [
633
687
  "ammonia",
634
688
  "base64",
@@ -645,7 +699,7 @@ dependencies = [
645
699
 
646
700
  [[package]]
647
701
  name = "html-to-markdown-wasm"
648
- version = "2.5.0"
702
+ version = "2.5.2"
649
703
  dependencies = [
650
704
  "console_error_panic_hook",
651
705
  "html-to-markdown-rs",
@@ -669,9 +723,9 @@ dependencies = [
669
723
 
670
724
  [[package]]
671
725
  name = "icu_collections"
672
- version = "2.0.0"
726
+ version = "2.1.1"
673
727
  source = "registry+https://github.com/rust-lang/crates.io-index"
674
- checksum = "200072f5d0e3614556f94a9930d5dc3e0662a652823904c3a75dc3b0af7fee47"
728
+ checksum = "4c6b649701667bbe825c3b7e6388cb521c23d88644678e83c0c4d0a621a34b43"
675
729
  dependencies = [
676
730
  "displaydoc",
677
731
  "potential_utf",
@@ -682,9 +736,9 @@ dependencies = [
682
736
 
683
737
  [[package]]
684
738
  name = "icu_locale_core"
685
- version = "2.0.0"
739
+ version = "2.1.1"
686
740
  source = "registry+https://github.com/rust-lang/crates.io-index"
687
- checksum = "0cde2700ccaed3872079a65fb1a78f6c0a36c91570f28755dda67bc8f7d9f00a"
741
+ checksum = "edba7861004dd3714265b4db54a3c390e880ab658fec5f7db895fae2046b5bb6"
688
742
  dependencies = [
689
743
  "displaydoc",
690
744
  "litemap",
@@ -695,11 +749,10 @@ dependencies = [
695
749
 
696
750
  [[package]]
697
751
  name = "icu_normalizer"
698
- version = "2.0.0"
752
+ version = "2.1.1"
699
753
  source = "registry+https://github.com/rust-lang/crates.io-index"
700
- checksum = "436880e8e18df4d7bbc06d58432329d6458cc84531f7ac5f024e93deadb37979"
754
+ checksum = "5f6c8828b67bf8908d82127b2054ea1b4427ff0230ee9141c54251934ab1b599"
701
755
  dependencies = [
702
- "displaydoc",
703
756
  "icu_collections",
704
757
  "icu_normalizer_data",
705
758
  "icu_properties",
@@ -710,42 +763,38 @@ dependencies = [
710
763
 
711
764
  [[package]]
712
765
  name = "icu_normalizer_data"
713
- version = "2.0.0"
766
+ version = "2.1.1"
714
767
  source = "registry+https://github.com/rust-lang/crates.io-index"
715
- checksum = "00210d6893afc98edb752b664b8890f0ef174c8adbb8d0be9710fa66fbbf72d3"
768
+ checksum = "7aedcccd01fc5fe81e6b489c15b247b8b0690feb23304303a9e560f37efc560a"
716
769
 
717
770
  [[package]]
718
771
  name = "icu_properties"
719
- version = "2.0.1"
772
+ version = "2.1.1"
720
773
  source = "registry+https://github.com/rust-lang/crates.io-index"
721
- checksum = "016c619c1eeb94efb86809b015c58f479963de65bdb6253345c1a1276f22e32b"
774
+ checksum = "e93fcd3157766c0c8da2f8cff6ce651a31f0810eaa1c51ec363ef790bbb5fb99"
722
775
  dependencies = [
723
- "displaydoc",
724
776
  "icu_collections",
725
777
  "icu_locale_core",
726
778
  "icu_properties_data",
727
779
  "icu_provider",
728
- "potential_utf",
729
780
  "zerotrie",
730
781
  "zerovec",
731
782
  ]
732
783
 
733
784
  [[package]]
734
785
  name = "icu_properties_data"
735
- version = "2.0.1"
786
+ version = "2.1.1"
736
787
  source = "registry+https://github.com/rust-lang/crates.io-index"
737
- checksum = "298459143998310acd25ffe6810ed544932242d3f07083eee1084d83a71bd632"
788
+ checksum = "02845b3647bb045f1100ecd6480ff52f34c35f82d9880e029d329c21d1054899"
738
789
 
739
790
  [[package]]
740
791
  name = "icu_provider"
741
- version = "2.0.0"
792
+ version = "2.1.1"
742
793
  source = "registry+https://github.com/rust-lang/crates.io-index"
743
- checksum = "03c80da27b5f4187909049ee2d72f276f0d9f99a42c306bd0131ecfe04d8e5af"
794
+ checksum = "85962cf0ce02e1e0a629cc34e7ca3e373ce20dda4c4d7294bbd0bf1fdb59e614"
744
795
  dependencies = [
745
796
  "displaydoc",
746
797
  "icu_locale_core",
747
- "stable_deref_trait",
748
- "tinystr",
749
798
  "writeable",
750
799
  "yoke",
751
800
  "zerofrom",
@@ -817,6 +866,15 @@ version = "1.70.2"
817
866
  source = "registry+https://github.com/rust-lang/crates.io-index"
818
867
  checksum = "a6cb138bb79a146c1bd460005623e142ef0181e3d0219cb493e02f7d08a35695"
819
868
 
869
+ [[package]]
870
+ name = "itertools"
871
+ version = "0.12.1"
872
+ source = "registry+https://github.com/rust-lang/crates.io-index"
873
+ checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569"
874
+ dependencies = [
875
+ "either",
876
+ ]
877
+
820
878
  [[package]]
821
879
  name = "itertools"
822
880
  version = "0.13.0"
@@ -834,14 +892,26 @@ checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c"
834
892
 
835
893
  [[package]]
836
894
  name = "js-sys"
837
- version = "0.3.81"
895
+ version = "0.3.82"
838
896
  source = "registry+https://github.com/rust-lang/crates.io-index"
839
- checksum = "ec48937a97411dcb524a265206ccd4c90bb711fca92b2792c407f268825b9305"
897
+ checksum = "b011eec8cc36da2aab2d5cff675ec18454fad408585853910a202391cf9f8e65"
840
898
  dependencies = [
841
899
  "once_cell",
842
900
  "wasm-bindgen",
843
901
  ]
844
902
 
903
+ [[package]]
904
+ name = "lazy_static"
905
+ version = "1.5.0"
906
+ source = "registry+https://github.com/rust-lang/crates.io-index"
907
+ checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe"
908
+
909
+ [[package]]
910
+ name = "lazycell"
911
+ version = "1.3.0"
912
+ source = "registry+https://github.com/rust-lang/crates.io-index"
913
+ checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55"
914
+
845
915
  [[package]]
846
916
  name = "libc"
847
917
  version = "0.2.177"
@@ -866,9 +936,9 @@ checksum = "df1d3c3b53da64cf5760482273a98e575c651a67eec7f77df96b5b642de8f039"
866
936
 
867
937
  [[package]]
868
938
  name = "litemap"
869
- version = "0.8.0"
939
+ version = "0.8.1"
870
940
  source = "registry+https://github.com/rust-lang/crates.io-index"
871
- checksum = "241eaef5fd12c88705a01fc1066c48c4b36e0dd4377dcdc7ec3942cea7a69956"
941
+ checksum = "6373607a59f0be73a39b6fe456b8192fcc3585f602af20751600e974dd455e77"
872
942
 
873
943
  [[package]]
874
944
  name = "lock_api"
@@ -891,6 +961,27 @@ version = "0.1.1"
891
961
  source = "registry+https://github.com/rust-lang/crates.io-index"
892
962
  checksum = "c41e0c4fef86961ac6d6f8a82609f55f31b05e4fce149ac5710e439df7619ba4"
893
963
 
964
+ [[package]]
965
+ name = "magnus"
966
+ version = "0.9.0"
967
+ source = "git+https://github.com/matsadler/magnus?rev=f6db11769efb517427bf7f121f9c32e18b059b38#f6db11769efb517427bf7f121f9c32e18b059b38"
968
+ dependencies = [
969
+ "magnus-macros",
970
+ "rb-sys",
971
+ "rb-sys-env",
972
+ "seq-macro",
973
+ ]
974
+
975
+ [[package]]
976
+ name = "magnus-macros"
977
+ version = "0.9.0"
978
+ source = "git+https://github.com/matsadler/magnus?rev=f6db11769efb517427bf7f121f9c32e18b059b38#f6db11769efb517427bf7f121f9c32e18b059b38"
979
+ dependencies = [
980
+ "proc-macro2",
981
+ "quote",
982
+ "syn",
983
+ ]
984
+
894
985
  [[package]]
895
986
  name = "maplit"
896
987
  version = "1.0.2"
@@ -964,6 +1055,12 @@ dependencies = [
964
1055
  "walkdir",
965
1056
  ]
966
1057
 
1058
+ [[package]]
1059
+ name = "minimal-lexical"
1060
+ version = "0.2.1"
1061
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1062
+ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"
1063
+
967
1064
  [[package]]
968
1065
  name = "miniz_oxide"
969
1066
  version = "0.8.9"
@@ -976,9 +1073,9 @@ dependencies = [
976
1073
 
977
1074
  [[package]]
978
1075
  name = "moxcms"
979
- version = "0.7.7"
1076
+ version = "0.7.9"
980
1077
  source = "registry+https://github.com/rust-lang/crates.io-index"
981
- checksum = "c588e11a3082784af229e23e8e4ecf5bcc6fbe4f69101e0421ce8d79da7f0b40"
1078
+ checksum = "0fbdd3d7436f8b5e892b8b7ea114271ff0fa00bc5acae845d53b07d498616ef6"
982
1079
  dependencies = [
983
1080
  "num-traits",
984
1081
  "pxfm",
@@ -995,7 +1092,7 @@ dependencies = [
995
1092
  "napi-build",
996
1093
  "napi-sys",
997
1094
  "nohash-hasher",
998
- "rustc-hash",
1095
+ "rustc-hash 2.1.1",
999
1096
  ]
1000
1097
 
1001
1098
  [[package]]
@@ -1052,6 +1149,16 @@ version = "0.2.0"
1052
1149
  source = "registry+https://github.com/rust-lang/crates.io-index"
1053
1150
  checksum = "2bf50223579dc7cdcfb3bfcacf7069ff68243f8c363f62ffa99cf000a6b9c451"
1054
1151
 
1152
+ [[package]]
1153
+ name = "nom"
1154
+ version = "7.1.3"
1155
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1156
+ checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a"
1157
+ dependencies = [
1158
+ "memchr",
1159
+ "minimal-lexical",
1160
+ ]
1161
+
1055
1162
  [[package]]
1056
1163
  name = "normalize-line-endings"
1057
1164
  version = "0.3.0"
@@ -1215,9 +1322,9 @@ checksum = "f84267b20a16ea918e43c6a88433c2d54fa145c92a811b5b047ccbe153674483"
1215
1322
 
1216
1323
  [[package]]
1217
1324
  name = "potential_utf"
1218
- version = "0.1.3"
1325
+ version = "0.1.4"
1219
1326
  source = "registry+https://github.com/rust-lang/crates.io-index"
1220
- checksum = "84df19adbe5b5a0782edcab45899906947ab039ccf4573713735ee7de1e6b08a"
1327
+ checksum = "b73949432f5e2a09657003c25bca5e19a0e9c84f8058ca374f49e0ebe605af77"
1221
1328
  dependencies = [
1222
1329
  "zerovec",
1223
1330
  ]
@@ -1258,6 +1365,16 @@ dependencies = [
1258
1365
  "termtree",
1259
1366
  ]
1260
1367
 
1368
+ [[package]]
1369
+ name = "pretty_assertions"
1370
+ version = "1.4.1"
1371
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1372
+ checksum = "3ae130e2f271fbc2ac3a40fb1d07180839cdbbe443c7a27e1e3c13c5cac0116d"
1373
+ dependencies = [
1374
+ "diff",
1375
+ "yansi",
1376
+ ]
1377
+
1261
1378
  [[package]]
1262
1379
  name = "proc-macro2"
1263
1380
  version = "1.0.103"
@@ -1393,6 +1510,36 @@ dependencies = [
1393
1510
  "crossbeam-utils",
1394
1511
  ]
1395
1512
 
1513
+ [[package]]
1514
+ name = "rb-sys"
1515
+ version = "0.9.117"
1516
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1517
+ checksum = "f900d1ce4629a2ebffaf5de74bd8f9c1188d4c5ed406df02f97e22f77a006f44"
1518
+ dependencies = [
1519
+ "rb-sys-build",
1520
+ ]
1521
+
1522
+ [[package]]
1523
+ name = "rb-sys-build"
1524
+ version = "0.9.117"
1525
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1526
+ checksum = "ef1e9c857028f631056bcd6d88cec390c751e343ce2223ddb26d23eb4a151d59"
1527
+ dependencies = [
1528
+ "bindgen",
1529
+ "lazy_static",
1530
+ "proc-macro2",
1531
+ "quote",
1532
+ "regex",
1533
+ "shell-words",
1534
+ "syn",
1535
+ ]
1536
+
1537
+ [[package]]
1538
+ name = "rb-sys-env"
1539
+ version = "0.2.2"
1540
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1541
+ checksum = "08f8d2924cf136a1315e2b4c7460a39f62ef11ee5d522df9b2750fab55b868b6"
1542
+
1396
1543
  [[package]]
1397
1544
  name = "redox_syscall"
1398
1545
  version = "0.5.18"
@@ -1437,6 +1584,12 @@ version = "0.2.2"
1437
1584
  source = "registry+https://github.com/rust-lang/crates.io-index"
1438
1585
  checksum = "88f8660c1ff60292143c98d08fc6e2f654d722db50410e3f3797d40baaf9d8f3"
1439
1586
 
1587
+ [[package]]
1588
+ name = "rustc-hash"
1589
+ version = "1.1.0"
1590
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1591
+ checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2"
1592
+
1440
1593
  [[package]]
1441
1594
  name = "rustc-hash"
1442
1595
  version = "2.1.1"
@@ -1489,6 +1642,12 @@ version = "1.0.27"
1489
1642
  source = "registry+https://github.com/rust-lang/crates.io-index"
1490
1643
  checksum = "d767eb0aabc880b29956c35734170f26ed551a859dbd361d140cdbeca61ab1e2"
1491
1644
 
1645
+ [[package]]
1646
+ name = "seq-macro"
1647
+ version = "0.3.6"
1648
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1649
+ checksum = "1bc711410fbe7399f390ca1c3b60ad0f53f80e95c5eb935e52268a0e2cd49acc"
1650
+
1492
1651
  [[package]]
1493
1652
  name = "serde"
1494
1653
  version = "1.0.228"
@@ -1543,6 +1702,12 @@ dependencies = [
1543
1702
  "serde_core",
1544
1703
  ]
1545
1704
 
1705
+ [[package]]
1706
+ name = "shell-words"
1707
+ version = "1.1.0"
1708
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1709
+ checksum = "24188a676b6ae68c3b2cb3a01be17fbf7240ce009799bb56d5b1409051e78fde"
1710
+
1546
1711
  [[package]]
1547
1712
  name = "shlex"
1548
1713
  version = "1.3.0"
@@ -1684,9 +1849,9 @@ dependencies = [
1684
1849
 
1685
1850
  [[package]]
1686
1851
  name = "tinystr"
1687
- version = "0.8.1"
1852
+ version = "0.8.2"
1688
1853
  source = "registry+https://github.com/rust-lang/crates.io-index"
1689
- checksum = "5d4f6d1145dcb577acf783d4e601bc1d76a13337bb54e6233add580b07344c8b"
1854
+ checksum = "42d3e9c45c09de15d06dd8acf5f4e0e399e85927b7f00711024eb7ae10fa4869"
1690
1855
  dependencies = [
1691
1856
  "displaydoc",
1692
1857
  "zerovec",
@@ -1792,9 +1957,9 @@ dependencies = [
1792
1957
 
1793
1958
  [[package]]
1794
1959
  name = "wasm-bindgen"
1795
- version = "0.2.104"
1960
+ version = "0.2.105"
1796
1961
  source = "registry+https://github.com/rust-lang/crates.io-index"
1797
- checksum = "c1da10c01ae9f1ae40cbfac0bac3b1e724b320abfcf52229f80b547c0d250e2d"
1962
+ checksum = "da95793dfc411fbbd93f5be7715b0578ec61fe87cb1a42b12eb625caa5c5ea60"
1798
1963
  dependencies = [
1799
1964
  "cfg-if",
1800
1965
  "once_cell",
@@ -1803,25 +1968,11 @@ dependencies = [
1803
1968
  "wasm-bindgen-shared",
1804
1969
  ]
1805
1970
 
1806
- [[package]]
1807
- name = "wasm-bindgen-backend"
1808
- version = "0.2.104"
1809
- source = "registry+https://github.com/rust-lang/crates.io-index"
1810
- checksum = "671c9a5a66f49d8a47345ab942e2cb93c7d1d0339065d4f8139c486121b43b19"
1811
- dependencies = [
1812
- "bumpalo",
1813
- "log",
1814
- "proc-macro2",
1815
- "quote",
1816
- "syn",
1817
- "wasm-bindgen-shared",
1818
- ]
1819
-
1820
1971
  [[package]]
1821
1972
  name = "wasm-bindgen-futures"
1822
- version = "0.4.54"
1973
+ version = "0.4.55"
1823
1974
  source = "registry+https://github.com/rust-lang/crates.io-index"
1824
- checksum = "7e038d41e478cc73bae0ff9b36c60cff1c98b8f38f8d7e8061e79ee63608ac5c"
1975
+ checksum = "551f88106c6d5e7ccc7cd9a16f312dd3b5d36ea8b4954304657d5dfba115d4a0"
1825
1976
  dependencies = [
1826
1977
  "cfg-if",
1827
1978
  "js-sys",
@@ -1832,9 +1983,9 @@ dependencies = [
1832
1983
 
1833
1984
  [[package]]
1834
1985
  name = "wasm-bindgen-macro"
1835
- version = "0.2.104"
1986
+ version = "0.2.105"
1836
1987
  source = "registry+https://github.com/rust-lang/crates.io-index"
1837
- checksum = "7ca60477e4c59f5f2986c50191cd972e3a50d8a95603bc9434501cf156a9a119"
1988
+ checksum = "04264334509e04a7bf8690f2384ef5265f05143a4bff3889ab7a3269adab59c2"
1838
1989
  dependencies = [
1839
1990
  "quote",
1840
1991
  "wasm-bindgen-macro-support",
@@ -1842,31 +1993,31 @@ dependencies = [
1842
1993
 
1843
1994
  [[package]]
1844
1995
  name = "wasm-bindgen-macro-support"
1845
- version = "0.2.104"
1996
+ version = "0.2.105"
1846
1997
  source = "registry+https://github.com/rust-lang/crates.io-index"
1847
- checksum = "9f07d2f20d4da7b26400c9f4a0511e6e0345b040694e8a75bd41d578fa4421d7"
1998
+ checksum = "420bc339d9f322e562942d52e115d57e950d12d88983a14c79b86859ee6c7ebc"
1848
1999
  dependencies = [
2000
+ "bumpalo",
1849
2001
  "proc-macro2",
1850
2002
  "quote",
1851
2003
  "syn",
1852
- "wasm-bindgen-backend",
1853
2004
  "wasm-bindgen-shared",
1854
2005
  ]
1855
2006
 
1856
2007
  [[package]]
1857
2008
  name = "wasm-bindgen-shared"
1858
- version = "0.2.104"
2009
+ version = "0.2.105"
1859
2010
  source = "registry+https://github.com/rust-lang/crates.io-index"
1860
- checksum = "bad67dc8b2a1a6e5448428adec4c3e84c43e561d8c9ee8a9e5aabeb193ec41d1"
2011
+ checksum = "76f218a38c84bcb33c25ec7059b07847d465ce0e0a76b995e134a45adcb6af76"
1861
2012
  dependencies = [
1862
2013
  "unicode-ident",
1863
2014
  ]
1864
2015
 
1865
2016
  [[package]]
1866
2017
  name = "wasm-bindgen-test"
1867
- version = "0.3.54"
2018
+ version = "0.3.55"
1868
2019
  source = "registry+https://github.com/rust-lang/crates.io-index"
1869
- checksum = "4e381134e148c1062f965a42ed1f5ee933eef2927c3f70d1812158f711d39865"
2020
+ checksum = "bfc379bfb624eb59050b509c13e77b4eb53150c350db69628141abce842f2373"
1870
2021
  dependencies = [
1871
2022
  "js-sys",
1872
2023
  "minicov",
@@ -1877,9 +2028,9 @@ dependencies = [
1877
2028
 
1878
2029
  [[package]]
1879
2030
  name = "wasm-bindgen-test-macro"
1880
- version = "0.3.54"
2031
+ version = "0.3.55"
1881
2032
  source = "registry+https://github.com/rust-lang/crates.io-index"
1882
- checksum = "b673bca3298fe582aeef8352330ecbad91849f85090805582400850f8270a2e8"
2033
+ checksum = "085b2df989e1e6f9620c1311df6c996e83fe16f57792b272ce1e024ac16a90f1"
1883
2034
  dependencies = [
1884
2035
  "proc-macro2",
1885
2036
  "quote",
@@ -1888,9 +2039,9 @@ dependencies = [
1888
2039
 
1889
2040
  [[package]]
1890
2041
  name = "web-sys"
1891
- version = "0.3.81"
2042
+ version = "0.3.82"
1892
2043
  source = "registry+https://github.com/rust-lang/crates.io-index"
1893
- checksum = "9367c417a924a74cae129e6a2ae3b47fabb1f8995595ab474029da749a8be120"
2044
+ checksum = "3a1f95c0d03a47f4ae1f7a64643a6bb97465d9b740f0fa8f90ea33915c99a9a1"
1894
2045
  dependencies = [
1895
2046
  "js-sys",
1896
2047
  "wasm-bindgen",
@@ -2020,17 +2171,22 @@ checksum = "f17a85883d4e6d00e8a97c586de764dabcc06133f7f1d55dce5cdc070ad7fe59"
2020
2171
 
2021
2172
  [[package]]
2022
2173
  name = "writeable"
2023
- version = "0.6.1"
2174
+ version = "0.6.2"
2175
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2176
+ checksum = "9edde0db4769d2dc68579893f2306b26c6ecfbe0ef499b013d731b7b9247e0b9"
2177
+
2178
+ [[package]]
2179
+ name = "yansi"
2180
+ version = "1.0.1"
2024
2181
  source = "registry+https://github.com/rust-lang/crates.io-index"
2025
- checksum = "ea2f10b9bb0928dfb1b42b65e1f9e36f7f54dbdf08457afefb38afcdec4fa2bb"
2182
+ checksum = "cfe53a6657fd280eaa890a3bc59152892ffa3e30101319d168b781ed6529b049"
2026
2183
 
2027
2184
  [[package]]
2028
2185
  name = "yoke"
2029
- version = "0.8.0"
2186
+ version = "0.8.1"
2030
2187
  source = "registry+https://github.com/rust-lang/crates.io-index"
2031
- checksum = "5f41bb01b8226ef4bfd589436a297c53d118f65921786300e427be8d487695cc"
2188
+ checksum = "72d6e5c6afb84d73944e5cedb052c4680d5657337201555f9f2a16b7406d4954"
2032
2189
  dependencies = [
2033
- "serde",
2034
2190
  "stable_deref_trait",
2035
2191
  "yoke-derive",
2036
2192
  "zerofrom",
@@ -2038,9 +2194,9 @@ dependencies = [
2038
2194
 
2039
2195
  [[package]]
2040
2196
  name = "yoke-derive"
2041
- version = "0.8.0"
2197
+ version = "0.8.1"
2042
2198
  source = "registry+https://github.com/rust-lang/crates.io-index"
2043
- checksum = "38da3c9736e16c5d3c8c597a9aaa5d1fa565d0532ae05e27c24aa62fb32c0ab6"
2199
+ checksum = "b659052874eb698efe5b9e8cf382204678a0086ebf46982b79d6ca3182927e5d"
2044
2200
  dependencies = [
2045
2201
  "proc-macro2",
2046
2202
  "quote",
@@ -2091,9 +2247,9 @@ dependencies = [
2091
2247
 
2092
2248
  [[package]]
2093
2249
  name = "zerotrie"
2094
- version = "0.2.2"
2250
+ version = "0.2.3"
2095
2251
  source = "registry+https://github.com/rust-lang/crates.io-index"
2096
- checksum = "36f0bbd478583f79edad978b407914f61b2972f5af6fa089686016be8f9af595"
2252
+ checksum = "2a59c17a5562d507e4b54960e8569ebee33bee890c70aa3fe7b97e85a9fd7851"
2097
2253
  dependencies = [
2098
2254
  "displaydoc",
2099
2255
  "yoke",
@@ -2102,9 +2258,9 @@ dependencies = [
2102
2258
 
2103
2259
  [[package]]
2104
2260
  name = "zerovec"
2105
- version = "0.11.4"
2261
+ version = "0.11.5"
2106
2262
  source = "registry+https://github.com/rust-lang/crates.io-index"
2107
- checksum = "e7aa2bd55086f1ab526693ecbe444205da57e25f4489879da80635a46d90e73b"
2263
+ checksum = "6c28719294829477f525be0186d13efa9a3c602f7ec202ca9e353d310fb9a002"
2108
2264
  dependencies = [
2109
2265
  "yoke",
2110
2266
  "zerofrom",
@@ -2113,9 +2269,9 @@ dependencies = [
2113
2269
 
2114
2270
  [[package]]
2115
2271
  name = "zerovec-derive"
2116
- version = "0.11.1"
2272
+ version = "0.11.2"
2117
2273
  source = "registry+https://github.com/rust-lang/crates.io-index"
2118
- checksum = "5b96237efa0c878c64bd89c436f661be4e46b2f3eff1ebb976f7ef2321d2f58f"
2274
+ checksum = "eadce39539ca5cb3985590102671f2567e659fca9666581ad3411d59207951f3"
2119
2275
  dependencies = [
2120
2276
  "proc-macro2",
2121
2277
  "quote",
@@ -3,7 +3,7 @@ resolver = "2"
3
3
  members = ["crates/html-to-markdown-py"]
4
4
 
5
5
  [workspace.package]
6
- version = "2.5.0"
6
+ version = "2.5.2"
7
7
  edition = "2021"
8
8
  authors = ["Na'aman Hirschfeld <nhirschfeld@gmail.com>"]
9
9
  license = "MIT"
@@ -15,7 +15,7 @@ rust-version = "1.80"
15
15
 
16
16
  [workspace.dependencies]
17
17
  # Core library
18
- html-to-markdown-rs = { version = "2.5.0", path = "crates/html-to-markdown" }
18
+ html-to-markdown-rs = { version = "2.5.2", path = "crates/html-to-markdown" }
19
19
 
20
20
  # HTML parsing and sanitization
21
21
  tl = "0.7"
@@ -41,3 +41,6 @@ lto = "thin"
41
41
  codegen-units = 1
42
42
  opt-level = 3
43
43
  strip = true
44
+
45
+ [patch.crates-io]
46
+ html-to-markdown-rs = { path = "crates/html-to-markdown" }
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: html-to-markdown
3
- Version: 2.5.0
3
+ Version: 2.5.2
4
4
  Classifier: Development Status :: 5 - Production/Stable
5
5
  Classifier: Environment :: Console
6
6
  Classifier: Intended Audience :: Developers
@@ -33,7 +33,7 @@ Project-URL: Repository, https://github.com/Goldziher/html-to-markdown.git
33
33
 
34
34
  # html-to-markdown
35
35
 
36
- High-performance HTML to Markdown converter with a clean Python API (powered by a Rust core). Wheels are published for Linux, macOS, and Windows.
36
+ High-performance HTML to Markdown converter with a clean Python API (powered by a Rust core). The same engine also drives the Node.js, Ruby, and WebAssembly bindings, so rendered Markdown stays identical across runtimes. Wheels are published for Linux, macOS, and Windows.
37
37
 
38
38
  [![PyPI version](https://badge.fury.io/py/html-to-markdown.svg)](https://github.com/Goldziher/html-to-markdown)
39
39
  [![Rust crate](https://img.shields.io/crates/v/html-to-markdown-rs.svg)](https://github.com/Goldziher/html-to-markdown)
@@ -1,6 +1,6 @@
1
1
  # html-to-markdown
2
2
 
3
- High-performance HTML to Markdown converter with a clean Python API (powered by a Rust core). Wheels are published for Linux, macOS, and Windows.
3
+ High-performance HTML to Markdown converter with a clean Python API (powered by a Rust core). The same engine also drives the Node.js, Ruby, and WebAssembly bindings, so rendered Markdown stays identical across runtimes. Wheels are published for Linux, macOS, and Windows.
4
4
 
5
5
  [![PyPI version](https://badge.fury.io/py/html-to-markdown.svg)](https://github.com/Goldziher/html-to-markdown)
6
6
  [![Rust crate](https://img.shields.io/crates/v/html-to-markdown-rs.svg)](https://github.com/Goldziher/html-to-markdown)
@@ -2,6 +2,8 @@
2
2
 
3
3
  High-performance HTML to Markdown converter built with Rust.
4
4
 
5
+ This crate is the core engine compiled into the Python wheels, Ruby gem, Node.js NAPI bindings, WebAssembly package, and CLI, ensuring identical Markdown output across every language.
6
+
5
7
  [![Crates.io](https://img.shields.io/crates/v/html-to-markdown-rs.svg)](https://crates.io/crates/html-to-markdown-rs)
6
8
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://github.com/Goldziher/html-to-markdown/blob/main/LICENSE)
7
9
  [![docs.rs](https://docs.rs/html-to-markdown-rs/badge.svg)](https://docs.rs/html-to-markdown-rs)
@@ -142,6 +144,7 @@ This is the core Rust library. For other languages:
142
144
 
143
145
  - **JavaScript/TypeScript**: [@html-to-markdown/node](https://github.com/Goldziher/html-to-markdown/tree/main/crates/html-to-markdown-node) (NAPI-RS) or [@html-to-markdown/wasm](https://github.com/Goldziher/html-to-markdown/tree/main/crates/html-to-markdown-wasm) (WebAssembly)
144
146
  - **Python**: [html-to-markdown](https://github.com/Goldziher/html-to-markdown/tree/main/crates/html-to-markdown-py) (PyO3)
147
+ - **Ruby**: [html-to-markdown](https://github.com/Goldziher/html-to-markdown/tree/main/crates/html-to-markdown-rb) (Magnus + rb-sys)
145
148
  - **CLI**: [html-to-markdown-cli](https://github.com/Goldziher/html-to-markdown/tree/main/crates/html-to-markdown-cli)
146
149
 
147
150
  ## Documentation
@@ -1,8 +1,9 @@
1
1
  # html-to-markdown
2
2
 
3
- High-performance HTML → Markdown conversion powered by Rust. Shipping as a Rust crate, Python package, Node.js bindings, WebAssembly, and standalone CLI with identical rendering behaviour.
3
+ High-performance HTML → Markdown conversion powered by Rust. Shipping as a Rust crate, Python package, Ruby gem, Node.js bindings, WebAssembly, and standalone CLI with identical rendering behaviour.
4
4
 
5
5
  [![PyPI version](https://badge.fury.io/py/html-to-markdown.svg)](https://pypi.org/project/html-to-markdown/)
6
+ [![RubyGems](https://badge.fury.io/rb/html-to-markdown.svg)](https://rubygems.org/gems/html-to-markdown)
6
7
  [![npm version](https://badge.fury.io/js/html-to-markdown.svg)](https://www.npmjs.com/package/html-to-markdown-node)
7
8
  [![Crates.io](https://img.shields.io/crates/v/html-to-markdown-rs.svg)](https://crates.io/crates/html-to-markdown-rs)
8
9
  [![Python Versions](https://img.shields.io/pypi/pyversions/html-to-markdown.svg)](https://pypi.org/project/html-to-markdown/)
@@ -33,6 +34,7 @@ Experience WebAssembly-powered HTML to Markdown conversion instantly in your bro
33
34
  - Node.js/Bun (native) – [Node.js README](https://github.com/Goldziher/html-to-markdown/tree/main/crates/html-to-markdown-node)
34
35
  - WebAssembly (universal) – [WASM README](https://github.com/Goldziher/html-to-markdown/tree/main/crates/html-to-markdown-wasm)
35
36
  - **Python guide** – [Python README](https://github.com/Goldziher/html-to-markdown/blob/main/README_PYPI.md)
37
+ - **Ruby guide** – [Ruby README](https://github.com/Goldziher/html-to-markdown/tree/main/crates/html-to-markdown-rb)
36
38
  - **Rust guide** – [Rust README](https://github.com/Goldziher/html-to-markdown/tree/main/crates/html-to-markdown)
37
39
  - **Contributing** – [CONTRIBUTING.md](https://github.com/Goldziher/html-to-markdown/blob/main/CONTRIBUTING.md) ⭐ Start here!
38
40
  - **Changelog** – [CHANGELOG.md](https://github.com/Goldziher/html-to-markdown/blob/main/CHANGELOG.md)
@@ -45,6 +47,7 @@ Experience WebAssembly-powered HTML to Markdown conversion instantly in your bro
45
47
  | **WebAssembly** (universal) | `npm install html-to-markdown-wasm` |
46
48
  | **Deno** | `import { convert } from "npm:html-to-markdown-wasm"` |
47
49
  | **Python** (bindings + CLI) | `pip install html-to-markdown` |
50
+ | **Ruby** gem | `bundle add html-to-markdown` or `gem install html-to-markdown` |
48
51
  | **Rust** crate | `cargo add html-to-markdown-rs` |
49
52
  | Rust CLI | `cargo install html-to-markdown-cli` |
50
53
  | Homebrew CLI | `brew tap goldziher/tap`<br>`brew install html-to-markdown` |
@@ -176,3 +179,18 @@ Benchmarked on Apple M4 with complex real-world documents (Wikipedia articles, t
176
179
  - Chat with us on [Discord](https://discord.gg/pXxagNK2zN)
177
180
  - Explore the broader [Kreuzberg](https://kreuzberg.dev) document-processing ecosystem
178
181
  - Sponsor development via [GitHub Sponsors](https://github.com/sponsors/Goldziher)
182
+ ### Ruby
183
+
184
+ ```ruby
185
+ require 'html_to_markdown'
186
+
187
+ html = '<h1>Hello</h1><p>Rust ❤️ Markdown</p>'
188
+ markdown = HtmlToMarkdown.convert(html, heading_style: :atx, wrap: true)
189
+
190
+ puts markdown
191
+ # # Hello
192
+ #
193
+ # Rust ❤️ Markdown
194
+ ```
195
+
196
+ See the language-specific READMEs for complete configuration, hOCR workflows, and inline image extraction.
@@ -49,4 +49,4 @@ __all__ = [
49
49
  "markdownify",
50
50
  ]
51
51
 
52
- __version__ = "2.5.0"
52
+ __version__ = "2.5.2"
@@ -7,7 +7,7 @@ requires = [
7
7
 
8
8
  [project]
9
9
  name = "html-to-markdown"
10
- version = "2.5.0"
10
+ version = "2.5.2"
11
11
  description = "High-performance HTML to Markdown converter powered by Rust with a clean Python API"
12
12
  readme = "README_PYPI.md"
13
13
  keywords = [
@@ -57,12 +57,12 @@ dev = [
57
57
  "memray>=1.19.1; sys_platform!='win32'",
58
58
  "mypy>=1.18.2",
59
59
  "pre-commit>=4.3",
60
- "psutil>=7.1.1; sys_platform!='win32'",
60
+ "psutil>=7.1.2; sys_platform!='win32'",
61
61
  "pytest>=8.4.2",
62
62
  "pytest-benchmark>=5.1",
63
63
  "pytest-cov>=7",
64
64
  "pytest-mock>=3.15.1",
65
- "ruff>=0.14.1",
65
+ "ruff>=0.14.2",
66
66
  "types-psutil>=7.0.0.20251001",
67
67
  "uv-bump",
68
68
  ]