Skip to content

Add http://noveldex.io/ parser (#2471)#2546

Open
nitramkh wants to merge 1 commit intodteviot:ExperimentalTabModefrom
nitramkh:feature/add_noveldex_io_parser
Open

Add http://noveldex.io/ parser (#2471)#2546
nitramkh wants to merge 1 commit intodteviot:ExperimentalTabModefrom
nitramkh:feature/add_noveldex_io_parser

Conversation

@nitramkh
Copy link
Contributor

@nitramkh nitramkh commented Mar 17, 2026

Fix for #2471.

This should be a mostly good parser for http://noveldex.io/, there are some improvements which can be made but I think it's sufficient for people who want to try using it rather than continuing to wait.

A list of things which may be of note in no particular order:

  1. The CSS selectors used look a bit odd, since I've been busy I started on this 2 weeks ago and in that time I've seen three separate occurrences of change wherein either ids and classes were changed. But I observed no structural HTML changes, so I went for that instead.

  2. The location of the chapter names are inconsistently placed, there is an "official" location for the chapter titles; but many stories seem to just chuck them in the content in a non-standardized way. So it just ignores these for now, but I may fix that later if someone cares.

  3. This seems to primarily be a translation site and I've included the translators as an author. However, again many individual chapters seem to have the translator listed in a non-standardized way inside the chapter content. I ignored this as I couldn't see an obvious way to modify the author field after fetching the chapter contents; and didn't think a hacky implementation would be appreciated ;)

  4. I didn't test this too deeply as I don't use the site myself, but I did download a couple stories using Chrome and Firefox, including the dev-tools mobile view thing; and skimmed the contents and it looked alright. But frankly, I figure if it doesn't work the requesters will let me know and I actually have time to fix it in a timely manner now.

  5. I added automatic skipping of locked chapters which works fine. But I can't test if unlocking and downloading these chapters actually works. But I saw no harm in including it, with the hope that one of the requesters can test it; and if broken I can fix it or remove it.

As always, if there are any issues or even thing anything you just don't like, I'm happy to fix it ;)

Pull request checklist
  1. ✅ Do all existing unit tests pass?
  2. ✅ Have all warnings and errors reported by eslint been fixed?
  3. ❌ Have you added new behaviour?
    1. ⬜ Can you turn it off?
    2. ⬜ Is it off by default?
  4. ✅ Are you in the contributors and credits?
  5. ✅ Are you committing to the ExperimentalTabMode branch?
  6. ✅ Have you rebased your commits?
  7. ✅ Have you ensured you committed all relevant changes?

*
* @type { NodeListOf<HTMLAnchorElement> }
*/
let chapterLinksElements = dom.querySelectorAll(`div[id] div[data-state] a[href*="chapter"]:not(:has(svg.lucide-lock))`); // eslint-disable-line quotes
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

See previous comment

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done

@nitramkh nitramkh force-pushed the feature/add_noveldex_io_parser branch from ba6e808 to be3661f Compare March 18, 2026 07:54
@nitramkh nitramkh requested a review from dteviot March 18, 2026 07:59
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