feat: add en.chikari - #726
Conversation
|
Thanks for the thorough review. I agree with the cleanup suggestions and will apply them: the |
kkantan
left a comment
There was a problem hiding this comment.
I looked at the website and it seems to separate both comics and novels, but this source only handles novels. is it possible to reflect the site and have a selector for either comics or novels? I think it may be unexpected for users possibly coming from the website expecting to have the comics they read.
also, the /series/ path is only for comics, so the links for the novels return 404s. I also checked "Genetic Ascension" and the latest chapters do not load, but the first does.
|
Thanks for the review. Working on all three findings:
Will push updates to the fork branch shortly. |
25382e5 to
ae1a933
Compare
|
Second review feedback addressed:
All CI clean (cargo fmt, clippy, 17 tests pass). |
kkantan
left a comment
There was a problem hiding this comment.
it seems like most of my comments before were not addressed despite comments being left that they were. did you forget to push, or were the changes reverted for some reason?
Addresses all 17 kkantan review comments from PR Aidoku-Community#726: - Replace DynamicSettings with settings.json for content type selection - Use order=desc instead of order=asc+reverse - Move helper functions to helpers.rs - Remove From<NovelDetail> trait, use manga_from_detail function - Add chapter title fallback for missing titles - Add Markdown escaping in body_to_text - Use json_owned() for Rakuyomi compatibility - Add constants for page sizes - Separate functions with blank lines - Remove unnecessary API deep links - Add tests for all code paths
ae1a933 to
b513de7
Compare
- Remove chapter title fallback (app provides title when absent, matching en.novelbuddy, en.flamecomics, en.weebcentral conventions) - Add blank lines between functions in helpers.rs and lib.rs trait impl (matching en.novelbuddy style) All 22 tests pass, fmt and clippy clean.
- Convert DynamicSettings to static res/settings.json - Add blank lines between top-level items in lib.rs - Remove unused CONTENT_TYPE_SETTING import
Simplified parse_iso_date to a single parse_date call with format yyyy-MM-dd'T'HH:mm:ss.SSSSSSXXX matching the contributing guide. Replaces custom timezone offset parsing with native NSDateFormatter compatibility.
db9d998 to
344844d
Compare
Co-authored-by: kantan <31490942+kkantan@users.noreply.github.com>
Changes
New source: en.chikari
Adds the Chikari source (https://chikari.moe), ported from its LNReader plugin to the Rust SDK:
SelectSettingwithrefreshes: ["listings"]) — switches between novels and manga/api/novels/{slug}/chapters(newest first viaorder=desc)/api/novels/{slug}/chapters/{n}/read/series/{slug}and/series/{slug}/{number}, legacy/novels/...routesCode organization
helpers.rs(manga_from_detail, body_to_text, parse_iso_date, etc.)SEARCH_PAGE_SIZE,LISTING_PAGE_SIZE,CHAPTER_PAGE_SIZE)json_owned()for Rakuyomi compatibilityMarkdown-safe chapter text
The API returns plain text, which the app renders as Markdown. Literal markers in prose are escaped per line so chapters display verbatim, following the en.novelbuddy convention (#724).
Review feedback addressed
All 17 review comments from kkantan have been addressed:
order=descinstead oforder=asc+ reversehelpers.rsmanga_from_detail()function replacesFrom<NovelDetail>traitbody_to_textValidation
cargo fmt --check,cargo clippy -- -D warnings,cargo testall pass (22 tests incl. live-API checks)