html-epub

1.0.0 • Public • Published

html-epub

This module is responsible for converting an array of HTML chapters (plus a book metadata object) into an EPUB archive.

The output is a stream which can either be piped to an HTTP response or output to a file.

See pubsweet-component-epub for an example implementation.

Install

npm install html-epub

or

yarn add html-epub

Example usage in Express

app.use('/books/:book/epub', (req, res, next) => {
    // book must have `identifier`, `title` and `updated` properties
    const book = BookService.get(req.params.book)
 
    // each part must have `title` and `content` (HTML) properties
    const parts = book.chapters.map(chapter => ({
      title: chapter.title,
      content: chapter.source
    }))
 
    // the base path for relative image URLs
    const resourceRoot = path.join(__dirname, 'uploads')
 
    const epub = new HTMLEPUB(book, {resourceRoot, stylesRoot})
 
    // pipe the zip file to the response stream
    epub.load(parts).then(() => epub.stream(res))
})

Readme

Keywords

none

Package Sidebar

Install

npm i html-epub

Weekly Downloads

3

Version

1.0.0

License

MIT

Unpacked Size

13.8 kB

Total Files

3

Last publish

Collaborators

  • aeaton
  • jure
  • yannisbarlas
  • alexgeorg86