Giter Club home page Giter Club logo

epub's Introduction

So....

I have a bunch of ePub books that I wanted access to from Stanza on my iPod Touch, and didn't feel like opening them all up in Stanza on my mac one by one and doing an ad-hoc copy. Thankfully, there's documentation on creating a catalog you can subscribe to from iTouch Stanza, and browse and download from there.

This project is currently an alpha/proof-of-concept catalog server, as well as an online book reader. I intend in the future to also include online editing of books, since I'm so good at finding typos.

At the moment, it's only been developed with hand-made epubs, as well as those available from epubBooks.com.

Running the Server

Check out the project, and from the root run ruby bin/epub_server <epub_dir>, where the argument to the server is a directory containing epub files, and optionally subdirectories containing the same. You can also provide Sinatra command line options to change the port, etc.

Online Reading

Just hit http://localhost:4567/, find a book, and go to it. See? Easy.

Stanza Catalog

The catalog is located at /catalog and linked from the index page if you forget. From Stanza, hit the Online Catalog, and then add a new entry.

Known Issues

ePub files are simply renamed zip files, but it seems that some (such as files from manybooks.net, or ones converted from Calibre) are incompatible with ruby's zip library. You'll know it when you see it, the error message is "can't dup NilClass". At the moment, the best fix I have is to simply unzip and re-zip the file with a normal zip utility, and it seems to clear the issue up.

If you find a non-DRM'd epub book that the server blows up on in a different way, add it to the issues list.

epub's People

Contributors

jamie avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.