jEpub

Simple EPUB builder library, works in modern browsers.

jEpub

npm version FOSSA Status

Simple EPUB builder library, works in modern browsers.

Demo

  1. /demo
  2. jsfiddle.net/rhov44gg

Installation

npm install --save jepub

You can also use it via a CDN:

<script src="https://unpkg.com/jepub/dist/jepub.min.js"></script>

or:

<script src="https://cdn.jsdelivr.net/npm/jepub/dist/jepub.min.js"></script>

Dependencies

jEpub requires JSZip and EJS. Make sure these libraries are loaded before starting your code.

<script src="jszip.js"></script>
<script src="ejs.js"></script>
<script src="jepub.js"></script>
<script>
    const jepub = new jEpub()
    // jepub.init({
    // do something
</script>

Usage

const jepub = new jEpub()
jepub.init({
    i18n: 'en', // Internationalization
    title: 'Book title',
    author: 'Book author',
    publisher: 'Book publisher',
    description: '<b>Book</b> description', // optional
    tags: [ 'epub', 'tag' ] // optional
})

Set published date

jepub.date(date: object)

Set identifier

jepub.uuid(id: string | number)

Add cover

jepub.cover(data: object)

Add notes

jepub.notes(content: string)

Add chapter *

jepub.add(title: string, content: string | array, index?:number)

Add image

jepub.image(data: object, IMG_ID: string)

Place <%= image[IMG_ID] %> inside the chapter’s content (HTML string only), where you want to display it.

Generate EPUB *

jepub.generate(type = 'blob', onUpdate?: metadata => void)

Static methods +

Convert HTML to text

jEpub.html2text(html: string, noBr = false)

Development

npm start

Builds are concatenated and minified using Webpack and Babel.

npm run build

License

ISC. Copyright 2018 lelinhtinh

FOSSA Status