Repository navigation
feat: add en.hentai2read - #825
Merged
Merged
Conversation
Hentai2Read was rebuilt as an Inertia.js app, so every page embeds its data as JSON in a script tag. The source reads that instead of scraping markup. - Browse listings, filters (type, status, sort, tags incl. categories, match-any) and an artist text filter - Searches that exactly name a tag, artist or parody include that name's books alongside title matches, most specific results first - Tapped tags, artists and parodies on a series page search by them; description links open artist, parody, character and publisher pages - Details: status, artists, rating, views, rank, year, alt title; completed series skip library updates - Chapters with local-day dates; members-only chapters marked locked - Deep links for series, chapters and tag pages - Keys from the previous en.hentai2read source still resolve through the site's redirects
- Tag drift: tapped tags are resolved from the site's own search results (matchingTags) instead of the embedded filters.json, so new or renamed site tags still resolve. filters.json now only feeds the filter sheet; scripts/update_filters.py regenerates it from the site's tag endpoints, and --check exits 1 when it is out of date. - Repeated lookups: a tapped name is resolved with one search request instead of separate tag, artist and parody lookups, and name -> id results (including artist filter lookups) are cached for the session. - Description links: only urls that are tag page paths (/<kind>/<id>-<slug>, slug of letters, digits and dashes) are linked; anything else is shown as plain text. The tag kinds are shared with the deep link handler.
Contributor
Author
🍿 Click to reveal video demo (Spoiler Warning)For quick demo |
kkantan
requested changes
Oct 19, 2026
kkantan
requested changes
Oct 20, 2026
kkantan
approved these changes
Oct 22, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
en.hentai2readwith browsing, site-supported filters, search, series details, chapter listings, and deep links.--checkmode for detecting stale filter data.Contribution checklist
cargo fmt --checkpasses.cargo check --target wasm32-unknown-unknowncould not run because thewasm32-unknown-unknownRust target is not installed in this environment;cargo clippywas not run.Testing
cargo fmt --manifest-path sources/en.hentai2read/Cargo.toml --check— passed.cargo check --manifest-path sources/en.hentai2read/Cargo.toml --target wasm32-unknown-unknown— blocked because the target is not installed.