Giter VIP home page Giter VIP logo

r2-streamer-go's Introduction

Readium-2 Streamer in Go

This project is based on the Readium-2 Streamer architecture that basically takes an EPUB as an input and exposes in HTTP:

  • a Web Publication Manifest based on the OPF of the original EPUB
  • resources from the container (HTML, CSS, images etc.)

It is entirely written in Go using Negroni.

This project is broken down in multiple Go packages that can be used independently from the project:

  • models is an in-memory model of a publication and its components
  • parser is responsible for parsing an EPUB and converting that info to the in-memory model
  • fetcher is meant to access resources contained in an EPUB and pre-process them (decryption, deobfuscation, content injection)

Usage

The server binary can be called using a single argument: the location to an EPUB file.

The server will bind itself to an available port on localhost and return a URI pointing to the Web Publication Manifest.

Need a Binary Version?

Releases for stable versions are available at: https://github.com/readium/r2-streamer-go/releases

Or with docker installed you can use this commande : sudo docker run --rm -v "$PWD":/usr/src/myapp -w /usr/src/myapp golang:1.8 go get ; go build -v

Live Demo

A live demo is available at: https://proto.myopds.com/

r2-streamer-go's People

Contributors

banux avatar

Watchers

James Cloos 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.