Skip to content

btzr-io/Villain

Repository files navigation

Villain logo

The open source web-based comic book reader that you need, but don't deserve.


Screen preview

What?

A simple open source web-based reader for:

  • Manga
  • Comic books
  • Graphic novels
  • Illustrated books

Works on the client side and is easy to integrate on any modern website or react application.

How?

It relays on cutting-edge web apis and frameworks like react, webworkers and webAssembly:

  • Dont expect it to work on a hot potato
  • Usage with modern browsers is recommended

Features

  • Dark / light theme
  • Manga mode ( Read right to left or default left to right )
  • Full screen mode ( Browser fullscreen API integration )
  • Easy page navigation : prev / next page buttons, slider component as well and a text input for accessibility
  • Keyboard shortcuts ( I need to document this )
  • Localization of strings ( Multi language support for the UI )
  • Layout mode : Single page / Book ( two pages )

A killer feature is missing ? Open a feature request

Formats

Supported archives formats by libarchive.js

  • ZIP
  • 7-Zip
  • RAR v4
  • RAR v5
  • TAR

Development

This repository is now a mono-repo and is maintained with lerna

Setup

Before you jump in the code please follow the initial setup guide for development:

  1. Clone or fork this repository.
  2. Run yarn command to install the project dependencies.
  3. Run yarn bootstrap to install all dependencies from internal packages and link any cross-dependencies.

Thats it! Now you are ready to start fixing bugs and implementing new features. 🎉

Packages

Available packages living inside this repository:

Name version Description
villain-web 0.0.1 (beta) web app + embed api
villain-react 1.0.7 react component

Commands

Available package scripts for development:

Name Description
deploy Deploy villain-web to github pages
bootstrap Bootstrap the packages in the current mono repo
start:web Start development webpack-dev-server (includes hot-reloading) of villain-web
build:web Build production version of villain-web
start:react Start development webpack-dev-server (includes hot-reloading) of villain-react
build:react Build production version of villain-react
docs:copy Prepare documents for docsify-cli
docsify:serve Serve docsify generated document on localhost:3000
yarn command-name

Known issues

  • Accessibility issues #23
  • Some .rar and .cbr fail to load #1
  • Encrypted archived are not yet supported #26

Credits