Github hosted website for my projects
File | Description |
popup.html | HTML that provides the UI for WebToEpub |
js/main.js | Main logic behind popup.html's UI |
js/ChapterUrlsUi.js | Logic for the "List of Chapters" on the UI |
js/CoverImageUI.js | Logic for the "Select Cover Image" list for Baka-Tsuki on the UI |
js/DefaultParserUI.js | Logic for the "Default Parser" on the UI |
js/Download.js | Wraps Chrome's Download API. (Handles saving EPUB to hard drive.) |
js/EpubItem.js | An item to pack into an EPUB file. (e.g. an XHTML or image file) |
js/EpubItemSupplier.js | Converts "files" from internet into EpubItems to pack into an EPUB |
js/EpubMetaInfo.js | Container holding metadata for an EPUB. |
js/EpubPacker.js | Assembles EPUB using metadata and items from supplier |
js/ErrorLog.js | Records errors/warnings and displays to user and/or saves to file |
js/Firefox.js | Code that is only needed by Firefox version of WebToEpub |
js/HttpClient.js | Wraps making HTTP calls to internet. Retry, decode response, etc. |
js/ImageColletor.js | Fetch images from internet, remove duplicates, rewrite image tags for EPUB, etc. |
js/Imgur.js | Logic for fetching/processing images and galleries from Imgur |
js/Parser.js | Base class for reading a site's HTML and converting into EpubItems |
js/ParserFactory.js | Logic to figure out which parser to use for a web page |
js/ProgressBar.js | Code to manipulate the Progress Bar on the UI |
js/Sanitize.js | Code to cleanup converting HTML to XHMTL |
js/UserPreferences.js | UI logic for user to set Options |
js/Util.js | Library of miscellaneous functions |
Note. due to need to fix up hyperlinks that may cross chapters, can’t convert web pages until all pages have been collected.
ToDo - include special case of EPUB that has multiple sites with different formats requiring different parsers.
Problem | See Parser |
Site does not use UTF8 encoding or inform of coding used | 69shu |
Each chapter spans multiple HTML pages | YushuboParser.js |
Chapters "links" in Table of Contents (ToC) are not hyperlinks | ArchiveOfOurOwn |
Walk multiple ToC pages to get all Chapters | BabelChain, Scribblehub |
Make multiple REST calls to get all ToC "pages" for all Chapters | Novelsect |
ToC requires REST call(s) to list all chapters | GravityTales, Lnmtl |
ToC across multiple HTML pages | AsianHobbyist, Novelfull, Shinsori, ZenithNovels |
Assemble chapter content from JSON | Novelsect |