2.1.4 • Published 5 years ago
jepub v2.1.4
jEpub
Simple EPUB builder library, works in modern browsers.
Demo
Installation
npm install --save jepubYou 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
})- i18n only include the language codes defined in i18n.json
- description: HTML string.
- tags: Array.
Set published date
jepub.date(date: object)- date: Date Object.
Set identifier
jepub.uuid(id: string | number)- id: Unique id.
Add cover
jepub.cover(data: object)- data: A Blob or an ArrayBuffer object from XMLHttpRequest.
Add notes
jepub.notes(content: string)- content: HTML string.
Add chapter *
jepub.add(title: string, content: string | array)- title: Plain text.
- content:- string: HTML string.
- array: Plain text for each item.
 
Add image
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.
Generate EPUB *
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.
Static methods +
Convert HTML to text
jEpub.html2text(html: string, noBr = false)- html: HTML string.
- noBr: Boolean. Add line break after Block-level elements.
Development
npm startBuilds are concatenated and minified using Webpack and Babel.
npm run buildLicense
ISC. Copyright 2018 lelinhtinh