Villain
Villain copied to clipboard
A free and open source web-based comic book reader.
The open source web-based comic book reader that you need, but don't deserve.
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
ZIP7-ZipRAR v4RAR v5TAR
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:
- Clone or fork this repository.
- Run
yarncommand to install the project dependencies. - Run
yarn bootstrapto 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. :tada:
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
.rarand.cbrfail to load #1 - Encrypted archived are not yet supported #26
Credits
-
:hammer_and_wrench: Created and maintained by @btzr-io with the help of some awesome contributors.