Skip to content

feat: add en.hentai2read - #825

Merged
kkantan merged 5 commits into
Aidoku-Community:mainfrom
jlintag:feat/en.hentai2read
Oct 22, 2026
Merged

kkantan merged 5 commits into
Aidoku-Community:mainfrom
jlintag:feat/en.hentai2read

Conversation

@jlintag

@jlintag jlintag commented Oct 18, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Add en.hentai2read with browsing, site-supported filters, search, series details, chapter listings, and deep links.
  • Parse the site's Inertia.js page data and preserve compatibility with legacy series and chapter keys.
  • Resolve tapped tags, artists, and parodies from live search results, cache name-to-ID lookups, and safely link recognized tag pages in descriptions.
  • Add a filter-generation script with a --check mode for detecting stale filter data.

Contribution checklist

  • Changes are limited to the Hentai2Read source, keeping this contribution focused.
  • PR title follows the repository's Conventional Commit format.
  • cargo fmt --check passes.
  • Build and lint verification: cargo check --target wasm32-unknown-unknown could not run because the wasm32-unknown-unknown Rust target is not installed in this environment; cargo clippy was not run.
  • Added files have terminating newlines; JSON formatting follows the source data format.

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.

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.
@jlintag jlintag changed the title Feat/en.hentai2read feat: add en.hentai2rea Oct 18, 2026
@jlintag jlintag changed the title feat: add en.hentai2rea feat: add en.hentai2read Oct 18, 2026
@jlintag jlintag closed this Oct 18, 2026
@jlintag jlintag reopened this Oct 18, 2026
@jlintag

jlintag commented Oct 18, 2026 •

Copy link
Copy Markdown
Contributor Author
🍿 Click to reveal video demo (Spoiler Warning)
https://github.com/user-attachments/assets/52f4c3e6-8767-4e59-8596-02025889e8de

For quick demo

Comment thread sources/en.hentai2read/res/source.json Outdated
Comment thread sources/en.hentai2read/src/lib.rs Outdated
Comment thread sources/en.hentai2read/src/lib.rs Outdated
Comment thread sources/en.hentai2read/src/lib.rs Outdated
Comment thread sources/en.hentai2read/src/lib.rs Outdated
Comment thread sources/en.hentai2read/src/lib.rs Outdated
Comment thread sources/en.hentai2read/src/lib.rs Outdated
Comment thread sources/en.hentai2read/src/lib.rs Outdated
Comment thread sources/en.hentai2read/res/filters.json Outdated
Comment thread sources/en.hentai2read/src/lib.rs Outdated
@kkantan
kkantan merged commit fda13e6 into Aidoku-Community:main Oct 22, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants