Skip to content

feat(english): add BornToBeNovel source plugin - #2650

Merged
rajarsheechatterjee merged 2 commits into
lnreader:masterfrom
RibatTRW:fm/lnreader-borntobenovel-2649
Oct 8, 2026
Merged

rajarsheechatterjee merged 2 commits into
lnreader:masterfrom
RibatTRW:fm/lnreader-borntobenovel-2649

Conversation

@RibatTRW

@RibatTRW RibatTRW commented Oct 8, 2026 •

Copy link
Copy Markdown
Contributor

Intent

Work on this lnreader-plugins issue now: #2649.

The issue is a plugin request titled "Plugin Request: BornToBeNovel": add an English source for BornToBeNovel at https://borntobenovel.com/. The requester says the site carries novels that can only be found there, in genres similar to the Hyacinth source.

What Changed

  • Added a standalone English plugin, plugins/english/borntobenovel.ts (id borntobenovel, v1.0.0), for https://borntobenovel.com. It scrapes the /library/ catalog and orders it using /static/sliders.json. It supports genre and status filters, search over the catalog, novel details, and the chapter list read from the page's inline window.chapters data.
  • Chapter parsing decodes the base64 contentData and converts its light markdown (bold, italic, scene-break rules) to HTML. Premium-only chapters return the site's paywall notice instead of text.
  • Added the plugin icon at public/static/src/en/borntobenovel/icon.png.

Closes #2649

This change was written by an AI coding agent (Claude); no human review is claimed.

Risk Assessment

✅ Low: The change adds one self-contained standalone plugin and its icon that satisfy the request for a BornToBeNovel English source, with no edits to shared code. The repo live checker passed against the live site from my machine (see Testing).

Testing

Ran the repo's live-site checker on the new plugin: popular (111 novels), search, novel parse (218 chapters) and chapter parse (20k chars) all passed. The icon is a valid 96x96 PNG and the site is not blacklisted.

Notes: two novels (mind-the-gap, i-transmigrated-into-an-s-rank-scumbag-villain) return an empty page from the site itself, and the plugin raises a clear error for them. Repo-wide npm run lint errors in other files (e.g. wtrlab.ts, wetriedtls.ts) predate this change.

  • Live validation: ✅ go - 4 of 4 scenarios driven live against the product
Scenario Result Live Evidence
Browse popular novels from borntobenovel.com ✅ pass live Live check output below
Search 'Diamond Dust' returns a result ✅ pass live Live check output below
Open a novel and list its chapters ✅ pass live Live check output below
Read a chapter's text ✅ pass live Live check output below
Evidence: live check result
## Plugin Live Check

\### `plugins/english/borntobenovel.ts`

| Check | Result | Details |
| --- | --- | --- |
| `popularNovels` | ✅ PASS | 111 novels |
| `searchNovels` | ✅ PASS | 1 results for "Diamond Dust" |
| `parseNovel` | ✅ PASS | 218 chapters |
| `parseChapter` | ✅ PASS | 20153 chars |

**Result: ✅ Passed — all checks succeeded.**

Pipeline

Updates from git push no-mistakes

✅ **intent** - passed

✅ No issues found.

✅ **Rebase** - passed

✅ No issues found.

✅ **Review** - passed

✅ No issues found.

✅ **Test** - passed

✅ No issues found.

  • Live validation: ✅ go - 4 of 4 scenarios driven live against the product
Scenario Result Live Evidence
Browse popular novels from borntobenovel.com ✅ pass live Live check output below
Search 'Diamond Dust' returns a result ✅ pass live Live check output below
Open a novel and list its chapters ✅ pass live Live check output below
Read a chapter's text ✅ pass live Live check output below
  • npm run check:plugin -- plugins/english/borntobenovel.ts
  • file check of icon.png (96x96 PNG)
  • BLACKLIST.json check
✅ **Document** - passed

✅ No issues found.

✅ **Lint** - passed

✅ No issues found.

✅ **Push** - passed

✅ No issues found.

@greptile-apps

greptile-apps Bot commented Oct 8, 2026 •

Copy link
Copy Markdown

RetriggerConfidence Score: 5/5

[Medium risk] Adds a new novel source plugin for a reading site.

The PR appears safe to merge; no actionable issues were established.

What we checked:

  • Site text cannot add executable tags: The flagged calls wrap existing Cheerio nodes. Chapter text escapes HTML characters before adding fixed formatting tags.

Summary

Adds an English BornToBeNovel source and its icon.

  • Browses and searches the catalog, with genre and status filters.
  • Reads novel details and chapter lists.
  • Decodes chapter text and formats it for reading.
  • No actionable issues were established.

Reviews (1) · Last reviewed commit: "feat(english): add BornToBeNovel source ..." · Reviewed by Greptile

…orntobenovel.ts. It sends browser-like headers (User-Agent, Accept, Accept-Language, Referer = site) and throws an Error with a numeric `status` on any non-ok response. fetchHtml, parseNovel and parseChapter all use it. Prettier and ESLint are clean, and check:plugin passes all four checks locally. I could not reproduce the CI 403 here, so I haven't confirmed the CI check now reports INCONCLUSIVE. Shared tooling, workflow and version are untouched
@rajarsheechatterjee
rajarsheechatterjee merged commit f9ce919 into lnreader:master Oct 8, 2026
3 checks passed
@github-actions github-actions Bot locked as resolved and limited conversation to collaborators Oct 11, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Plugin Request: BornToBeNovel

2 participants