Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/dteviot/WebToEpub

A simple Chrome (and Firefox) Extension that converts Web Novels (and other web pages) into an EPUB.
https://github.com/dteviot/WebToEpub

Last synced: 6 days ago
JSON representation

A simple Chrome (and Firefox) Extension that converts Web Novels (and other web pages) into an EPUB.

Awesome Lists containing this project

README

        



[![Contributors][contributors-shield]][contributors-url]
[![Forks][forks-shield]][forks-url]
[![Stargazers][stars-shield]][stars-url]
[![Issues][issues-shield]][issues-url]
[![GPLv3 License][license-shield]][license-url]





Logo

WebToEpub


Extension that converts Web Novels (and other web pages) into an EPUB for offline reading.


Explore the wiki »




Add Site Request
·
Bug Report
·
Feature Request


Table of Contents



  1. About The Project



  2. Installation



  3. Usage



  4. Contributing


  5. License

  6. Contact

  7. Notes

## About The Project

![WebToEpub Screen Shot][product-screenshot]

© 2015 David Teviotdale

WebToEpub is a browser extension for Firefox and Chrome that converts web novels and other web pages into EPUB format. It supports a wide range of websites, including:

- Baka-Tsuki.org
- ArchiveOfOurOwn.org
- FanFiction.net
- Wuxiaworld.com
- Royalroad.com and many more...

(back to top)

### Supported Sites

Last we checked, the following sites were known to work


  • 230book.net

  • 38xs.com

  • 4ksw.com

  • 888novel.com

  • 88xiaoshuo.net

  • 8muses.com

  • a-t.nu

  • aerialrain.com

  • akknovel.com

  • all-novelfull.net

  • allnovel.org

  • allnovelbin.net

  • allnovelbook.com

  • allnovelfull.app

  • allnovelfull.com

  • allnovelfull.net

  • allnovelfull.org

  • allnovelnext.com

  • alphapolis.co.jp

  • alternatehistory.com

  • amor-yaoi.com

  • anythingnovel.com

  • arcanetranslations.com

  • archiveofourown.org

  • asianfanfics.com

  • asianhobbyist.com

  • asianovel.net

  • asstr.org

  • babelnovel.com

  • baka-tsuki.org

  • bakapervert.wordpress.com

  • bednovel.com

  • bestlightnovel.com

  • betwixtedbutterfly.com

  • bnatranslations.com

  • book18.org

  • bookalb.com

  • bookswithqianya.com

  • botitranslation.com

  • boxnovel.net

  • boxnovel.org

  • boxnovelfull.com

  • boylove.cc

  • bqka.cc

  • cangji.net

  • cclawtranslations.home.blog

  • chaleuria.com

  • chichipeph.com

  • chickengege.org

  • chinesewuxia.world

  • chrysanthemumgarden.com

  • chyoa.com

  • ckandawrites.online

  • comics.8muses.com

  • comrademao.com

  • coronatranslation.com

  • creativenovels.com

  • crimsonmagic.me

  • crimsontranslations.com

  • cyborg-tl.com

  • czbooks.net

  • daotranslate.com

  • daotranslate.us

  • dark-novels.ru

  • deviantart.com

  • dummynovels.com

  • edanglarstranslations.com

  • engnovel.com

  • erofus.com

  • exiledrebelsscanlations.com

  • faloomtl.com

  • fanfiction.com.br

  • fanfiction.mugglenet.com

  • fanfiction.net

  • fanmtl.com

  • fannovel.com

  • fannovels.com

  • fansmtl.com

  • fastnovel.net

  • ffxs8.com

  • fictionhunt.com

  • fictionmania.tv

  • fictionpress.com

  • fictionzone.net

  • ficwad.com

  • fimfiction.net

  • finestories.com

  • flying-lines.com

  • forum.questionablequesting.com

  • forums.nrvnqsr.com

  • forums.spacebattles.com

  • forums.sufficientvelocity.com

  • foxteller.com

  • freelightnovel.net

  • freenovelsread.com

  • freewebnovel.com

  • freewn.com

  • frostfire10.wordpress.com

  • fullnovel.co

  • gamefaqs.gamespot.com

  • genesistls.com

  • genesistudio.com

  • goblinsguide.com

  • graverobbertl.site

  • gravitynovels.com

  • gravitytales.com

  • gunnerkrigg.com

  • gutenberg.spiegel.de

  • helheimscans.com

  • hellping.org

  • hentai-foundry.com

  • hiscension.com

  • hostednovel.com

  • hoxionia.com

  • hui3r.wordpress.com

  • idleturtle-translations.com

  • idnovel.my.id

  • imgur.com

  • indomtl.com

  • indowebnovel.id

  • inkitt.com

  • innnovel.com

  • inoveltranslation.com

  • isekaicyborg.wordpress.com

  • isekaiscan.com

  • isotls.com

  • jade-rabbit.net

  • japtem.com

  • jjwxc.net

  • jobnib.com

  • jonaxxstories.com

  • jpmtl.com

  • kakuyomu.jp

  • kaystls.site

  • kemono.su

  • knoxt.space

  • kobatochan.com

  • krytykal.org

  • lazygirltranslations.com

  • liberspark.com

  • libread.com

  • libri7.com

  • lightnovelbastion.com

  • lightnovelbox.com

  • lightnovelcave.com

  • lightnovelfr.com

  • lightnovelpub.com

  • lightnovelpub.fan

  • lightnovelread.com

  • lightnovelreader.org

  • lightnovels.live

  • lightnovels.me

  • lightnovelstranslations.com

  • lightnovelworld.co

  • lightnovelworld.com

  • lightsnovel.com

  • listnovel.com

  • literotica.com

  • lnmtl.com

  • lnreader.org

  • m.88xiaoshuo.net

  • m.bqg225.com

  • m.chinesefantasynovels.com

  • m.freelightnovel.net

  • m.gzbpi.com

  • m.metanovel.org

  • m.mywuxiaworld.com

  • m.novelspread.com

  • m.qqxs.vip

  • m.tapas.io

  • m.wuxiaworld.co

  • m.xklxsw.net

  • machine-translation.org

  • madnovel.com

  • magic.wizards.com

  • mandarinducktales.com

  • mangabob.com

  • mangadex.org

  • mangahere.cc

  • mangakakalot.com

  • mangallama.com

  • manganelo.com

  • manganov.com

  • mangaread.co

  • mangasushi.net

  • manhwaden.com

  • manhwatop.com

  • marx2mao.com

  • mayanovel.com

  • mcstories.com

  • meionovel.id

  • midnightrambles.in

  • moonbunnycafe.com

  • moonlightnovel.com

  • moonquill.com

  • morenovel.net

  • mtlarchive.com

  • mtled-novels.com

  • mtlnation.com

  • mtlnovel.com

  • mtlreader.com

  • mtnovel.net

  • myxls.net

  • nanomashin.online

  • ncode.syosetu.com

  • nightcomic.com

  • noblemtl.com

  • novel-bin.com

  • novel-bin.net

  • novel-bin.org

  • novel-next.com

  • novel.babelchain.org

  • novel.naver.com

  • novel18.syosetu.com

  • novel35.com

  • novelactive.org

  • novelall.com

  • novelbin.com

  • novelbin.me

  • novelbin.net

  • novelbuddy.com

  • novelbuddy.io

  • novelcool.com

  • novelcranel.org

  • novelcrush.com

  • novelebook.net

  • novelfever.com

  • novelfire.docsachhay.net

  • novelfull.com

  • novelfull.net

  • novelfullbook.com

  • novelgate.net

  • novelgo.id

  • novelgreat.net

  • novelhall.com

  • novelhi.com

  • novelhold.com

  • novelhulk.net

  • novellive.app

  • novellive.com

  • novellive.net

  • novelmania.com.br

  • novelmao.com

  • novelmax.net

  • novelmedium.com

  • novelmt.com

  • novelmtl.com

  • novelnext.com

  • novelnext.dramanovels.io

  • novelnext.net

  • novelnextz.com

  • novelonlinefree.com

  • novelonlinefree.info

  • novelonlinefull.com

  • novelonomicon.com

  • novelpassion.com

  • novelplex.org

  • novelpub.com

  • novels.pl

  • novelsect.com

  • novelsemperor.com

  • novelsemperor.net

  • novelsknight.com

  • novelsparadise.net

  • novelspread.com

  • novelsrock.com

  • noveltoon.mobi

  • noveltop1.org

  • noveltranslatedbyc.blogspot.com

  • noveltrench.com

  • noveltrust.net

  • noveluniverse.com

  • novelupdates.cc

  • novelupdates.online

  • novelusb.com

  • novelusb.net

  • novelversetranslations.com

  • novelxo.net

  • novicetranslations.com

  • ntruyen.vn

  • nyantl.wordpress.com

  • octopii.co

  • onlinenovelbook.com

  • ontimestory.eu

  • ossantl.com

  • panda-novel.com

  • pandamtl.com

  • pandapama.com

  • pandasnovel.com

  • patreon.com

  • pawread.com

  • peachblossomcodex.com

  • peachpitting.com

  • peachpuff.in

  • pery.info

  • piaotia.com

  • puretl.com

  • qinxiaoshuo.com

  • quanben.io

  • quanben5.io

  • questionablequesting.com

  • quotev.com

  • raeitranslations.com

  • rainingtl.org

  • rainofsnow.com

  • raisingthedead.ninja

  • ranobes.net

  • ranobes.top

  • re-library.com

  • readcomiconline.li

  • reader-hub.com

  • readfreebooksonline.org

  • readhive.org

  • readlightnovel.cc

  • readlightnovel.me

  • readlightnovel.meme

  • readlightnovel.org

  • readlightnovel.today

  • readlitenovel.com

  • readnoveldaily.com

  • readnovelfull.com

  • readnovelfull.me

  • readnovelfull.org

  • readwebnovel.xyz

  • readwn.com

  • readwn.org

  • rebirth.online

  • reddit.com

  • royalroad.com

  • royalroadl.com

  • rtd.moe

  • rtenzo.net

  • rubymaybetranslations.com

  • scifistories.com

  • scribblehub.com

  • secondlifetranslations.com

  • semprot.com

  • sexstories.com

  • shalvationtranslations.wordpress.com

  • shanghaifantasy.com

  • shikkakutranslations.org

  • shinsori.com

  • shintranslations.com

  • shirokuns.com

  • shmtranslations.com

  • shubaow.net

  • shubaowb.com

  • shw5.cc

  • sites.google.com

  • sj.uukanshu.com

  • sjks88.com

  • skydemonorder.com

  • skythewoodtl.com

  • snowycodex.com

  • sonako.fandom.com

  • sonako.wikia.com

  • sousetsuka.com

  • soverse.com

  • spiritfanfiction.com

  • sspai.com

  • starlightstream.net

  • sto.cx

  • storiesonline.net

  • storyseedling.com

  • sweek.com

  • systemtranslation.com

  • taffygirl13.wordpress.com

  • tamagotl.com

  • taonovel.com

  • tapas.io

  • tapread.com

  • teanovel.com

  • teanovel.net

  • teenfic.net

  • thenovelbin.org

  • tigertranslations.org

  • timotxt.com

  • titannovel.net

  • tl.rulate.ru

  • tomotranslations.com

  • topnovelfull.com

  • translationchicken.com

  • travistranslations.com

  • truyenfull.vn

  • truyenyy.com

  • trxs.me

  • ultimaguil.org

  • universalnovel.com

  • unlimitednovelfailures.mangamatters.com

  • untamedalley.com

  • veratales.com

  • vipnovel.com

  • volarenovels.com

  • wanderertl130.id

  • wanderinginn.com

  • watashiwasugoidesu.com

  • wattpad.com

  • webnovel.com

  • webnovel.live

  • webnovelonline.com

  • webnovelpub.com

  • webnovelpub.pro

  • wenku8.net

  • wfxs.tw

  • whitemoonlightnovels.com

  • wnmtl.com

  • wnmtl.org

  • woopread.com

  • wordexcerpt.com

  • worldnovel.online

  • wtr-lab.com

  • wuxia-world.online

  • wuxia.blog

  • wuxia.city

  • wuxia.click

  • wuxiabee.com

  • wuxiabee.net

  • wuxiabee.org

  • wuxiafox.com

  • wuxiago.com

  • wuxiahere.com

  • wuxiahub.com

  • wuxiamtl.com

  • wuxiaone.com

  • wuxiap.com

  • wuxiapub.com

  • wuxiar.com

  • wuxiaspot.com

  • wuxiau.com

  • wuxiaworld.co

  • wuxiaworld.com

  • wuxiaworld.eu

  • wuxiaworld.live

  • wuxiaworld.online

  • wuxiaworld.site

  • wuxiaworld.world

  • wuxiazone.com

  • xbiquge.so

  • xiaoshuogui.com

  • xiaxuenovels.xyz

  • yoraikun.wordpress.com

  • yushubo.net

  • zenithnovels.com

  • zeonic-republic.net

  • zhenhunxiaoshuo.com

  • zinnovel.net

  • zirusmusings.com

(back to top)

### Built With

- Node.js
- eslint

##### Libraries used (in WebToEpub)

- jszip

#### Libraries used by WebToEpub build process

- @xmldom/xmldom
- copyfiles
- quint

(back to top)

## Installation

### Firefox

#### From Firefox Add-ons

Open Firefox and visit [WebToEpub on Firefox Add-ons][firefox-add-ons].

#### From Source (Firefox)

The easiest set of steps is using Firefox.

1. Download prebuilt Firefox version of extension from https://github.com/dteviot/WebToEpub/releases/tag/developer-build.
2. Open Firefox and type "about:debugging#/runtime/this-firefox" into the URL bar.
3. Click "Load Temporary Add-on".
4. Click on the zip file you downloaded in step 1.
![Installing in Firefox screenshot](doc/FirefoxLoadFromSource.png?raw=true)

### Chrome

#### From Chrome Web Store

Open Chrome (or any Chromium-based browser like Edge, Opera, etc.) and go to [WebToEpub on Chrome Web Store][chrome-web-store].

#### From Source (Chrome)

1. Download prebuilt Chrome version of extension from https://github.com/dteviot/WebToEpub/releases/tag/developer-build.
2. Unpack zip file
3. Open Chrome and type "chrome://extensions" into the browser.
4. Make sure "Developer Mode" at the top of the page is checked.
5. Press the "Load unpacked extension.." button and browse to unpacked zip directory from step 2.
![wte-chrome-small](https://user-images.githubusercontent.com/20068737/136224439-57af48bd-21fb-463d-99db-74f44769327e.gif)

### From Source (Developers)

1. Clone this repo.

```sh
git clone https://github.com/dteviot/WebToEpub.git
```

2. Build extension.

- Install [Node.js](https://nodejs.org/) (if not already installed)
- Run `npm install` to install dependencies
- Run `npm run lint` to build plugin and lint
- This will produce 3 files in the eslint directory.
- WebToEpub0.0.0.x.xpi (Firefox version of plug-in)
- WebToEpub0.0.0.x.zip (Chrome version of plug-in)
- packed.js
- Lint tests are OK if output ends with `Wrote Zip to disk; Done in XXXs.`

3. Install extension in browser of choice, using instructions above.

See [notes](#notes) for more information.

### Android (untested)

- Caution I have not (and do not test) on Android. I've been told the following work, but I can't guarantee them.
- Get yourself `Kiwi browser`, `Yandex browser`, or `Firefox`.
- Install from [Chrome web store][chrome-web-store] for Kiwi and Yandex, or from [Mozilla add-ons][firefox-add-ons] for Firefox.

(back to top)

## Usage

### How to use with Baka-Tsuki:

- Browse to a Baka-Tsuki web page that has the full text of a story.
- Click on the WebToEpub icon on top right of the window.
- Check story details are correct.
- Select image to use for cover.
- Click the "Pack EPUB" button.
- Wait for progress bar to finish (indicating the images being downloaded) and the generated EPUB to be placed in your downloads directory.

### How to use with Archive of Our Own:

- Browse to first chapter of story you want.
- Click on the WebToEpub icon on top right of the window.
- Check story details are correct.
- Click the "Pack EPUB" button.
- Wait for progress bar to finish (indicating the additional chapters are being downloaded) and the generated EPUB to be placed in your downloads directory.

### How to use for site that there is no specific parser for:

See: https://github.com/dteviot/WebToEpub/wiki/FAQ#how-to-convert-a-new-site-using-the-default-parser

### How to create Parsers for new sites

For details on how to extend, see the following

- https://github.com/dteviot/WebToEpub/wiki/FAQ#how-to-write-a-new-parser
- http://www.codeproject.com/Articles/1060680/Web-to-EPUB-Extension-for-Chrome.

(back to top)

## Contributing

> [!NOTE]
>
> Read [CONTRIBUTING.md](/CONTRIBUTING.md) first.

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are **greatly appreciated**.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement".
Don't forget to give the project a star! Thanks again!

1. Fork the Project
2. Create your Feature Branch (`git checkout -b feature/AmazingFeature`)
3. Commit your Changes (`git commit -m 'Add some AmazingFeature'`)
4. Push to the Branch (`git push origin feature/AmazingFeature`)
5. Open a Pull Request

### Top contributors


contrib.rocks image

### Credits

Contributors


  • Firefox port by Markus Vieth

  • Michael Fox (Belldandu)

  • typhoon71

  • toshiya44

  • dreamer2908

  • Parser for German Project Gutenberg by GallusMax

  • Hogesyx

  • Asif Mahmood

  • snnsnn

  • Sergii Pravdzivyi

  • Aurimas Niekis

  • Tom Goetz

  • Alen Toma (css styling)

  • JimmXinu

  • gamebeaker (additional metadata, Library)

  • Kondeeza

  • Mathnerd314

  • Sickan90

  • Miracutor

  • Kiradien

  • Synteresis

  • Lej77

  • nandakishore2009 (Parsers for madnovel.com, www.panda-novel.com)

  • courli79

  • Dimava

  • alethiophile

  • Yoanhg421

  • Leone Jacob Sunil (ImLJS)

  • xRahul

  • Oleksii Taranenko

  • Naheulf

  • perishableloc

  • praschke

  • ImmortalDreamer

  • ktrin

  • nozwock

  • Tyderion

  • Darthagnon

  • LucasFreitaslpf1

  • Jemeni11

  • maforn

(back to top)

## License

Licensed under GPLv3. See [LICENSE][license-url] for more information.

WebToEpub uses the following libraries:

- JSZip library v3.7.1: https://github.com/Stuk/jszip, which is dual licensed with the MIT license or GPLv3.
- quint: http://qunitjs.com/, licensed under MIT license.

(back to top)

## Contact

David Teviotdale - [@dteviot](https://github.com/dteviot)

Project Link: [https://github.com/dteviot/WebToEpub](https://github.com/dteviot/WebToEpub)

(back to top)

## Notes

### To run unit tests

- Install [Node.js](https://nodejs.org/) (if not already installed)
- Run `npm install` to install dependencies
- Run `npm test`
- Tests will be launched in your default browser. To open them in different browser, open the page URL in it.

> ### To run unit tests without Node.js
>
> - If you are not trying to run unit tests in `/unitTest/` folder, you do not need this
> - If you can use nodejs, see previous paragraph instead
> - If you can not install nodejs or http-server is not working when you run `npm test`, and you have no alternative ways to serve files (like [chrome Web Server app](https://chrome.google.com/webstore/detail/web-server-for-chrome/ofhbbkphhbklhfoeikjpcbhemlocgigb) for example), you have to allow browser to run local html files to run tests.
>
> #### To run unit tests (without local server) under Chrome
>
> - Close all running copies of Chrome
> - Start Chrome with command line argument `--allow-file-access-from-files`. That is:
> - Open a command propmt
> - Browse to the directory holding Chrome
> - Type in command `chrome.exe --allow-file-access-from-files` . Press "Enter".
> - If you don't do this, some tests will fail with error messages containing the text **_Failed to execute 'send' on 'XMLHttpRequest': Failed to load_**.
> - Load `unitTest/Tests.html`
> - If you get **_Failed to read the 'localStorage' property from 'Window': Access is denied for this document_** errors
> - Type **_chrome://settings/content_** into Chrome's search bar
> - Uncheck **_Block third-party cookies and site data_**
> - Click **_Finished_**
> - Re-run unit tests
> - When finished with unit tests.
> - Restore original value of **_Block third-party cookies and site data_** (if you changed it).
> - close all running copies of Chrome
>
> #### To run unit tests (without local server) under Firefox
>
> - Start Firefox
> - Go to `about:config`
> - Find `security.fileuri.strict_origin_policy` parameter
> - Set it to false
> - Load `unitTest/Tests.html`
> - (Remember to reset `security.fileuri.strict_origin_policy` to true when done.

(back to top)

[contributors-shield]: https://img.shields.io/github/contributors/dteviot/WebToEpub.svg?style=for-the-badge
[contributors-url]: https://github.com/dteviot/WebToEpub/graphs/contributors
[forks-shield]: https://img.shields.io/github/forks/dteviot/WebToEpub.svg?style=for-the-badge
[forks-url]: https://github.com/dteviot/WebToEpub/network/members
[stars-shield]: https://img.shields.io/github/stars/dteviot/WebToEpub.svg?style=for-the-badge
[stars-url]: https://github.com/dteviot/WebToEpub/stargazers
[issues-shield]: https://img.shields.io/github/issues/dteviot/WebToEpub.svg?style=for-the-badge
[issues-url]: https://github.com/dteviot/WebToEpub/issues

[license-shield]: https://img.shields.io/badge/LICENSE-GPLv3-%23555555?style=for-the-badge&label=LICENSE&color=285959
[license-url]: /LICENSE.md
[product-screenshot]: doc/product-screenshot.png

[firefox-add-ons]: https://addons.mozilla.org/en-US/firefox/addon/webtoepub-for-baka-tsuki
[chrome-web-store]: https://chrome.google.com/webstore/detail/webtoepub/akiljllkbielkidmammnifcnibaigelm