Skip to content

feat: add ja.mangarawbest - #661

Merged
kkantan merged 4 commits into
Aidoku-Community:mainfrom
kinboy56:ja.mangarawbest
Aug 3, 2026
Merged

feat: add ja.mangarawbest#661
kkantan merged 4 commits into
Aidoku-Community:mainfrom
kinboy56:ja.mangarawbest

Conversation

@kinboy56

@kinboy56 kinboy56 commented Aug 2, 2026

Copy link
Copy Markdown
Contributor

Fix #16

Summary

  • Search, browse/filtering, series details, chapter list, and page list
  • 3 listings: Popular, Weekly Popular, Newest
  • Filters: sort (8 options), search-by name/artist, status, and genre (52 options, include/exclude)
  • Selectable image server (site ships 3 CDN mirrors; some regions can't reach the default one)
  • Deep linking for both series and chapter URLs

Implementation notes

  • /search?q=... silently ignores the query — it always returns the unfiltered catalogue. The actual search endpoint is filter[name]=... / filter[artist]=... on /manga-list, reverse-engineered from the site's own app.js. filter[doujinshi]=... (the third "search type" option in the site's own UI) never returns any results regardless of value, so it was left out of filters.json rather than shipping a filter option that silently returns nothing.
  • Genres appear twice on series pages: once in the actual info block, and again in an SEO keyword cloud at the bottom of the page that links to the same /genre/... URLs but prefixes every label with the series title (e.g. <title> Action). Tags are scraped from a selector scoped to the info block only, and there's a test asserting no tag contains the series title, so a regression here fails loudly instead of silently reintroducing junk tags.
  • Chapter titles carry no information beyond the number — every chapter across the sampled catalogue is titled exactly 第N話, which the app already renders from chapter_number. Keeping the scraped title as well would show it twice in the reader (e.g. "41話 - 41話"), so titles that are just 第<number>話 are dropped.
  • Dates are relative-only (6日前, 2週間前, etc.) — there's no absolute date anywhere in the markup, so they're converted from current_date().
  • Status label text is inconsistent: the "completed" badge reads "完了" on some pages, and the filter link it sits inside consistently uses filter[status]=1. Status is parsed from that query value first, falling back to the label text only if the link is missing.
  • The source has no explicit content rating of its owncontent_rating is inferred from genre tags (成人向け/hentai-family tags → NSFW, Ecchi/Mature/etc. → Suggestive, otherwise Safe), since the source itself is registered as contains-nsfw.

Test plan

  • cargo test — 19 tests, all hitting the live site (no mocked HTML), covering: browse pagination (including the single-page/no-results case where the pagination bar is absent), all 3 listings, search hits, filter combinations actually narrowing results (asserted against the unfiltered baseline, not just "doesn't error"), series details, chapter list ordering/format, page list, and deep link parsing (including www. / query-string / trailing-slash variants)
  • cargo fmt --check — clean
  • cargo clippy — no warnings
  • aidoku package + aidoku verify — schema validation passes for source.json, filters.json, settings.json, and the icon (128×128, fully opaque)
  • Manually installed via aidoku serve and read a chapter in the iOS app

Checklist

  • The source can be compiled without any warnings or errors
  • cargo fmt has been run before submission
  • cargo clippy outputs no lint warnings
  • All files have an additional newline at the end
  • JSON files use tabs for indentation
  • status / content_rating are set on series when available
  • DeepLinkHandler is implemented for both series and chapter URLs
  • Home page / listing components beyond simple sort-based listings — not implemented (optional per CONTRIBUTING.md)

@kinboy56 kinboy56 changed the title feat: add Ja.mangarawbest feat: add ja.mangarawbest Aug 2, 2026
Comment thread sources/ja.mangarawbest/res/filters.json Outdated
Comment thread sources/ja.mangarawbest/src/lib.rs Outdated
Comment thread sources/ja.mangarawbest/src/lib.rs Outdated
Comment thread sources/ja.mangarawbest/src/lib.rs Outdated
Comment thread sources/ja.mangarawbest/src/lib.rs Outdated
@kkantan
kkantan merged commit 4acc89a into Aidoku-Community:main Aug 3, 2026
2 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.

mangaraw.best

3 participants