Simple EPUB builder library, works in modern browsers.
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>
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>
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
})
- i18n only include the language codes defined in
i18n.json
- description: HTML string.
- tags: Array.
jepub.date(date: object)
- date: Date Object.
jepub.uuid(id: string | number)
- id: Unique id.
jepub.cover(data: object)
- data: A Blob or an ArrayBuffer object from XMLHttpRequest.
jepub.notes(content: string)
- content: HTML string.
jepub.add(title: string, content: string | array, index?:number)
- title: Plain text.
- content:
string
: HTML string.array
: Plain text for each item.
- index: Item index.
jepub.image(data: object, IMG_ID: string)
- data: A Blob or an ArrayBuffer object from XMLHttpRequest.
- IMG_ID: Unique id.
Place <%= image[IMG_ID] %>
inside the chapter's content (HTML string only), where you want to display it.
jepub.generate(type = 'blob', onUpdate?: metadata => void)
- type: The type of EPUB to return. See JSZip type option.
- onUpdate: (optional) Callback function. See JSZip onUpdate callback.
jEpub.html2text(html: string, noBr = false)
- html: HTML string.
- noBr: Boolean. Add line break after Block-level elements.
npm start
Builds are concatenated and minified using Webpack and Babel.
npm run build
ISC. Copyright 2018 lelinhtinh