npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

villain-react

v1.0.9

Published

An open source web based comic book reader as a react component

Downloads

98

Readme

Installation

$ yarn add villain-react

WebWorker

This project uses libarchivejs for extracting compressed archives, so you will need to provide the path of webworker:

The webworker bundle lives in libarchive.js/dist folder so you need to make sure that it is available in your public folder since it will not get bundled if you're using bundler (it's all bundled up already)

const workerUrl = 'path to ../build/worker-bundle.js',

Formats

Supported archives formats by libarchive.js

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

Usage

Import the component and the css styles

// Component
import Villain from 'villain-react'

// Css styles
import 'villain-react/dist/style.css'

// Path of the comicbook archive, it can also be a file or blob
const url = './files/test.cbz'

// Path of the libarchivejs webworker bundle
const workerUrl = 'path to ../build/worker-bundle.js',

//...

<Villain source={url} options={opts} />

Props

Available props of the component:

| Name | Type | Default | Description | | --------- | ------------------ | ----------------------------------------------------- | ----------------------------------------- | | style | Object | null | Inline styles for root container. | | source | string, file, blob | null | Path or file source of the archive. | | options | object | options | Options to customize the reader component | | className | string | null | Custom css class name | | workerUrl | string | null | Path to libarchive.js worker-bundle |

Options

Available options to customize the reader component:

| Name | Type | Default | Description | | -------------------- | ------ | ------- | ------------------------------------------------------------------------------- | | theme | string | 'Light' | Choose CSS styling from between ('Light', 'Dark). | | maxPages | number | 500 | Max number of pages to extract and render. | | mangaMode | bool | false | Read right to left. | | forceSort | bool | true | Fix sort order of pages (#235) | | allowFullScreen | bool | true | Show full screen button. | | autoHideControls | bool | false | Set initial auto hide state of toolbar. | | allowGlobalShortcuts | bool | false | Allows shortcuts without having to focus the viewer. |

Development

Run yarn command to install the dependencies.

To start the development run yarn start, this will open up localhost:8080 on your default browser:

  • This uses webpack-dev-server and includes hot-reloading.

An example archive has been provided to play around inside ./build/testFile

  • A good resource for archives can be found here: https://archive.org/details/comics.
  • Alternative, any compressed folder (zip, rar, tar, etc) with a few images will also do the job.

Known issues

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

Credits