gitextract_hsrmhacy/ ├── .cargo/ │ └── config.toml ├── .gitattributes ├── .github/ │ ├── dependabot.yml │ └── workflows/ │ ├── audit.yml │ ├── benchmark.yml │ ├── coverage.yml │ ├── release.yml │ ├── rust.yml │ └── wasm.yml ├── .gitignore ├── CHANGELOG.md ├── Cargo.toml ├── LICENSE ├── README.md ├── crates/ │ ├── bench/ │ │ ├── Cargo.toml │ │ └── benches/ │ │ └── parse.rs │ ├── cli/ │ │ ├── Cargo.toml │ │ └── src/ │ │ └── main.rs │ ├── js/ │ │ ├── .gitignore │ │ ├── Cargo.toml │ │ ├── LICENSE_MIT │ │ ├── README.md │ │ ├── src/ │ │ │ ├── lib.rs │ │ │ └── utils.rs │ │ └── tests/ │ │ └── web.rs │ └── lua/ │ ├── Cargo.toml │ └── src/ │ └── lib.rs ├── deny.toml ├── src/ │ ├── ac_automat.rs │ ├── config.rs │ ├── glob.rs │ ├── grab.rs │ ├── grab_flags.rs │ ├── helpers.rs │ ├── lib.rs │ ├── matching.rs │ ├── prep_article.rs │ ├── readability.rs │ ├── readable.rs │ ├── score.rs │ ├── serde_helpers.rs │ └── url_helpers.rs ├── test-pages/ │ ├── aclu_ld_meta.json │ ├── alice-two-paragraphs.html │ ├── alt/ │ │ ├── arstechnica/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ ├── expected.md │ │ │ ├── expected_alt.txt │ │ │ └── source.html │ │ ├── hacker-news/ │ │ │ ├── expected.md │ │ │ ├── expected_alt.txt │ │ │ └── source.html │ │ ├── mozilla_readability/ │ │ │ ├── expected.md │ │ │ ├── expected_alt.txt │ │ │ └── source.html │ │ └── rust-blog/ │ │ ├── expected.md │ │ ├── expected_alt.txt │ │ └── source.html │ ├── ld.json │ ├── not-matching/ │ │ ├── empty-links/ │ │ │ ├── google-sre-book-1/ │ │ │ │ ├── expected-metadata.json │ │ │ │ ├── expected.html │ │ │ │ └── source.html │ │ │ ├── lazy-image-2/ │ │ │ │ ├── expected-metadata.json │ │ │ │ ├── expected.html │ │ │ │ └── source.html │ │ │ └── yahoo-3/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── redundant-class-page/ │ │ │ ├── nytimes-1/ │ │ │ │ ├── expected-metadata.json │ │ │ │ ├── expected.html │ │ │ │ └── source.html │ │ │ └── nytimes-2/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── redundant-div/ │ │ │ ├── citylab-1/ │ │ │ │ ├── expected-metadata.json │ │ │ │ ├── expected.html │ │ │ │ └── source.html │ │ │ ├── la-nacion/ │ │ │ │ ├── expected-metadata.json │ │ │ │ ├── expected.html │ │ │ │ └── source.html │ │ │ ├── lwn-1/ │ │ │ │ ├── expected-metadata.json │ │ │ │ ├── expected.html │ │ │ │ └── source.html │ │ │ └── wapo-2/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── redundant-font-attrs/ │ │ │ ├── clean-links/ │ │ │ │ ├── expected-metadata.json │ │ │ │ ├── expected.html │ │ │ │ └── source.html │ │ │ ├── gmw/ │ │ │ │ ├── expected-metadata.json │ │ │ │ ├── expected.html │ │ │ │ └── source.html │ │ │ ├── hukumusume/ │ │ │ │ ├── expected-metadata.json │ │ │ │ ├── expected.html │ │ │ │ └── source.html │ │ │ ├── keep-tabular-data/ │ │ │ │ ├── expected-metadata.json │ │ │ │ ├── expected.html │ │ │ │ └── source.html │ │ │ ├── replace-font-tags/ │ │ │ │ ├── expected-metadata.json │ │ │ │ ├── expected.html │ │ │ │ └── source.html │ │ │ └── table-style-attributes/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ └── urls/ │ │ ├── 002/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── ietf-1/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── toc-missing/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── v8-blog/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── videos-1/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── wikia/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── wikipedia/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ └── wikipedia-2/ │ │ ├── expected-metadata.json │ │ ├── expected.html │ │ └── source.html │ ├── ok/ │ │ ├── 001/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── 002/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── 003-metadata-preferred/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── 004-metadata-space-separated-properties/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── 005-unescape-html-entities/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── aclu/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── aktualne/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── archive-of-our-own/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── ars-1/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── base-url/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── base-url-base-element-relative/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── breitbart/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── citylab-1/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── clean-links/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── cnn/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── dev418/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── ehow-1/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── engadget/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── gmw/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── hukumusume/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── ietf-1/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── js-link-replacement/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── keep-tabular-data/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── la-nacion/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── lwn-1/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── medicalnewstoday/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── medium-3/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── qq/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── replace-brs/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── replace-font-tags/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── social-buttons/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── table-style-attributes/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── tmz-1/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── toc-missing/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── v8-blog/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── videos-1/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── wikia/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── wikipedia/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── wikipedia-2/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ └── wikipedia-3/ │ │ ├── expected-metadata.json │ │ ├── expected.html │ │ └── source.html │ ├── readability/ │ │ ├── article-author-tag/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── arxiv/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ ├── expected.md │ │ │ ├── expected_alt.txt │ │ │ └── source.html │ │ ├── base-url-base-element/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── basic-tags-cleaning/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── bbc-1/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── blogger/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── bug-1255978/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── buzzfeed-1/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── cnet/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── cnet-svg-classes/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── comment-inside-script-parsing/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── daringfireball-1/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── data-url-image/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── dropbox-blog/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── ebb-org/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── ehow-2/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── embedded-videos/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── firefox-nightly-blog/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── folha/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── gitlab-blog/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── google-sre-book-1/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── guardian-1/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── heise/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── herald-sun-1/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── hidden-nodes/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── iab-1/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── invalid-attributes/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── keep-images/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── lazy-image-1/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── lazy-image-2/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── lazy-image-3/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── lemonde-1/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── liberation-1/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── lifehacker-post-comment-load/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── lifehacker-working/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── links-in-tables/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── mathjax/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── medium-1/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── medium-2/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── mercurial/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── metadata-content-missing/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── missing-paragraphs/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── mozilla-1/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── mozilla-2/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── msn/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── normalize-spaces/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── nytimes-1/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── nytimes-2/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── nytimes-3/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── nytimes-4/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── nytimes-5/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── ol/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── parsely-metadata/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── pixnet/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── quanta-1/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── remove-aria-hidden/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── remove-extra-brs/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── remove-extra-paragraphs/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── remove-script-tags/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── reordering-paragraphs/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── royal-road/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── rtl-1/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── rtl-2/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── rtl-3/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── rtl-4/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── salon-1/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── schema-org-context-object/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── seattletimes-1/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── simplyfound-1/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── spiceworks/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── style-tags-removal/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── svg-parsing/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── telegraph/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── theverge/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── title-and-h1-discrepancy/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── title-en-dash/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── topicseed-1/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── tumblr/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── videos-2/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── visibility-hidden/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── wapo-1/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── wapo-2/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── webmd-1/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── webmd-2/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── wikipedia-4/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── wordpress/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── yahoo-1/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── yahoo-2/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── yahoo-3/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ ├── yahoo-4/ │ │ │ ├── expected-metadata.json │ │ │ ├── expected.html │ │ │ └── source.html │ │ └── youth/ │ │ ├── expected-metadata.json │ │ ├── expected.html │ │ └── source.html │ ├── rustwiki_2024.html │ ├── rustwiki_2024_result.html │ └── rustwiki_2024_result.txt └── tests/ ├── alt.rs ├── bad.rs ├── candidate_modes.rs ├── common.rs ├── favicon.rs ├── metadata.rs ├── parse_policy.rs ├── readability.rs ├── readability_ok.rs └── wasm.rs