Skip to content

feat(russian/ranobelife): add Ranobe.life - #2766

Merged
rajarsheechatterjee merged 2 commits into
lnreader:masterfrom
RikCost:feat/russian-ranobelife
Oct 25, 2026
Merged

rajarsheechatterjee merged 2 commits into
lnreader:masterfrom
RikCost:feat/russian-ranobelife

Conversation

@RikCost

@RikCost RikCost commented Oct 24, 2026 •

Copy link
Copy Markdown
Contributor

Adds a plugin for Ranobe.life (ranobe.life), a Russian web/light novel site on DataLife Engine.

  • Catalog: /catalog/[g=<genre>/][page/N/], 20 novels per page, sorted with the DLE sort sent in the request body (popularity, views, last edit, date added, comments, title); genre filter with the site's 49 genres. "Latest" sorts by last edit.
  • Search: /search/<query>/page/N/.
  • Novel: title, cover, plain-text summary, status ("Онгоинг" / "Завершён"), genres from the page's schema.org data, and the full chapter list with release dates from the JSON the page embeds for its chapter list (window.__DATA__), ordered by position.
  • Chapter: text from div.rl-text; illustration chapters return their images with absolute URLs.
  • Browser check: the site redirects visitors to its own browser check (/_c?t=…) and repeats it from time to time. When a request lands there, the plugin throws "Пройдите проверку: откройте сайт в WebView" instead of returning empty results, so the user can pass it in the in-app WebView.
  • Icon: the site's own logo (/android-chrome-192x192.png) scaled to 96×96.

Testing

The browser check blocks non-browser clients, so check:plugin cannot reach the site. The bundled plugin was run inside a real browser tab that had passed the check: catalog (popular, page 2, latest, genre, title sort), search, "Да, я паук, и что с того?" (467 chapters in order without duplicates, status, genres, summary), a text chapter (183 paragraphs) and an illustration chapter (3 images). After about 20 quick requests the site re-issued its check and the plugin reported it as intended. Tested by the author in the LNReader app on Android through a plugin repository build.

No related issue found.

Checklist

  • Update version code if an existing plugin was modified (new plugin, 1.0.0)
  • Test changes in Plugin Playground or the app
  • Reference related issues in the PR body (e.g. Closes #xyz)
  • Commit messages follow type(scope): description (e.g. feat(<generator>): add new source)

This change was written with an AI coding agent (Claude Code) and reviewed and tested by the author.

🤖 Generated with Claude Code

DataLife Engine site: catalog with sort and genre filters, search, novel
details and the full chapter list from the page's embedded JSON, chapter
text with illustrations. The site sends visitors through its own browser
check; until it is passed in the WebView the plugin asks to open it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@greptile-apps

greptile-apps Bot commented Oct 24, 2026 •

Copy link
Copy Markdown

RetriggerView in GreptileConfidence Score: 4/5

[Medium impact] The change affects one added novel-source workflow.

The PR appears safe to merge with non-blocking fixes for EPUB covers and missing chapter data.

Findings

  1. P2 Exported covers disappear ▶
  2. P2 Missing chapters look normal ▶

Summary

Adds Ranobe.life as a Russian reading source.

  • Readers can filter Ranobe.life's catalog and search its novels.
  • Novel pages show their details and ordered chapter lists.
  • Chapters load text and images, with a clear browser-check prompt.

The icon artwork could not be visually inspected because image input is unavailable.

Reviews (1) · Last reviewed commit: "feat(russian/ranobelife): add Ranobe.lif..." · Reviewed by Greptile

Comment thread plugins/russian/ranobelife.ts Outdated
Comment thread plugins/russian/ranobelife.ts Outdated
…e URLs

- throw when the page has no embedded chapter data instead of showing
  the novel without chapters; a real empty list is still accepted
- take the novel id from the path when news_id is missing
- resolveUrl keeps absolute URLs

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@rajarsheechatterjee
rajarsheechatterjee merged commit 596f959 into lnreader:master Oct 25, 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