Worms author might not like this existing, hence the copy.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Domenic Denicola c860873d78 Update dependencies 2 months ago
.github/workflows Update dependencies 2 months ago
covers Tweaks to cover-related EPUB stuff 4 months ago
lib Use @domenic/eslint-config 2 months ago
scaffolding Add per-book covers 10 months ago
.editorconfig Make a nicer command-line interface 6 years ago
.eslintrc.json Use @domenic/eslint-config 2 months ago
.gitignore Start generalizing to work for Ward too 10 months ago
LICENSE.txt Update dependencies 10 months ago
README.md Allow running with no commands 4 months ago
npm-shrinkwrap.json Update dependencies 2 months ago
package.json Update dependencies 2 months ago


Worm Scraper

Scrapes the web serial Worm and its sequel Ward into an eBook format.

How to use

First you'll need a modern version of Node.js. Install whatever is current (not LTS); at least v12.10.0 is necessary.

Then, open a terminal (Mac documentation, Windows documentation) and install the program by typing

npm install -g worm-scraper

This will take a while as it downloads this program and its dependencies from the internet. Once it's done, try to run it, by typing:

worm-scraper --help

If this outputs some help documentation, then the installation process went smoothly. You can move on to assemble the eBook by typing


This will take a while, but will eventually produce a Worm.epub file!

If you'd like to get Ward instead of Worm, use --book=ward, e.g.

worm-scraper --book=ward

EPUB vs. other formats

EPUB is one of the primary eBook formats, but it is not recognized by all readers, including most Amazon Kindle devices. You can use an online converter or other tool to convert EPUB to Kindle MOBI, or any other format.

Alternately, if you are a developer, a pull request adding support for MOBI output would be appreciated; please open an issue to discuss how you plan to proceed.

Text fixups

This project makes a lot of fixups to the original text, mostly around typos, punctuation, capitalization, and consistency. You can get a more specific idea of what these are via the code; there's convert-worker.js, where some things are handled generally, and substitutions.json, for one-off fixes.

This process is designed to be extensible, so if you notice any problems with the original text that you think should be fixed, file an issue to let me know, and we can update the fixup code so that the resulting eBook is improved. (Or better yet, send a pull request!)