Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/btzr-io/villain
A free and open source web-based comic book reader.
https://github.com/btzr-io/villain
archive comic comic-books comics-reader libarchive react reader viewer
Last synced: 9 days ago
JSON representation
A free and open source web-based comic book reader.
- Host: GitHub
- URL: https://github.com/btzr-io/villain
- Owner: btzr-io
- License: mit
- Created: 2017-07-19T01:09:12.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2022-12-10T17:20:41.000Z (almost 2 years ago)
- Last Synced: 2024-10-29T23:44:51.409Z (9 days ago)
- Topics: archive, comic, comic-books, comics-reader, libarchive, react, reader, viewer
- Language: JavaScript
- Homepage: https://villain.js.org
- Size: 19.5 MB
- Stars: 258
- Watchers: 5
- Forks: 103
- Open Issues: 26
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
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 booksWorks 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](https://github.com/btzr-io/Villain/issues/new?assignees=&labels=&template=feature_request.md&title=)
## Formats
Supported archives formats by [`libarchive.js`](https://github.com/nika-begiashvili/libarchivejs)
- `ZIP`
- `7-Zip`
- `RAR v4`
- `RAR v5`
- `TAR`## Development
This repository is now a `mono-repo` and is maintained with [lerna](https://github.com/lerna/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. :tada:
### Packages
Available packages living inside this repository:
| Name | version | Description |
| -------------------------------------------------------------------------------------- | ------------ | ------------------- |
| [villain-web](https://github.com/btzr-io/Villain/tree/master/packages/villain-web) | 0.0.1 (beta) | web app + embed api |
| [villain-react](https://github.com/btzr-io/Villain/tree/master/packages/villain-react) | 1.0.7 | react component |### Commands
Available package scripts for development:
| Name | Description |
| ------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- |
| deploy | Deploy [villain-web](https://github.com/btzr-io/Villain/tree/master/packages/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](https://github.com/btzr-io/Villain/tree/master/packages/villain-web) |
| build:web | Build production version of [villain-web](https://github.com/btzr-io/Villain/tree/master/packages/villain-web) |
| start:react | Start development webpack-dev-server (includes hot-reloading) of [villain-react](https://github.com/btzr-io/Villain/tree/master/packages/villain-react) |
| build:react | Build production version of [villain-react](https://github.com/btzr-io/Villain/tree/master/packages/villain-react) |
| docs:copy | Prepare documents for docsify-cli |
| docsify:serve | Serve docsify generated document on localhost:3000 |```sh
yarn command-name
```## Known issues
- Accessibility issues [#23](https://github.com/btzr-io/Villain/issues/23)
- Some `.rar` and `.cbr` fail to load [#1](https://github.com/btzr-io/Villain/issues/1)
- Encrypted archived are not yet supported [#26](https://github.com/btzr-io/Villain/issues/26)## Credits
- :hammer_and_wrench: Created and maintained by [@btzr-io](https://github.com/btzr-io) with the help of some awesome [contributors](https://github.com/btzr-io/Villain/graphs/contributors).
- :art: Logo and artworks designed by [@btzr-io](https://github.com/btzr-io), see [license](https://github.com/btzr-io/Villain/blob/master/artworks/ARTWORKS_LICENSE.md).