simple-pandoc

0.2.0 • Public • Published

simple-pandoc Build Status

A thin and simple pandoc wrapper function

Introduction

simple-pandoc provides probably the thinest and simplest Node.js binding for pandoc. It just wraps the pandoc command into JavaScript APIs.

It focuses on a very simple use case, and may not provide complicated functionalities. If they are needed, please check out other libraries on npm.

Install

simple-pandoc doesn't provide pandoc itself. Please ensure that pandoc is installed and executable. To install pandoc, please refer to the Installing section in the pandoc documentation.

To install simple-pandoc, use npm.

$ npm install simple-pandoc

API

const pandoc = require('simple-pandoc');

Initialize a converter

pandoc(from, to, ...opts)

  • from: String a format specified in the pandoc documentation
  • to: String a format specified in the pandoc documentation
  • opts: ...String options specified in the pandoc documentation
  • return: Function a converter function

Example:

const htmlToMarkdown = pandoc('html', 'markdown', '--no-highlight', '--key=value', ...);

Convert with a Promise API

converter(content)

  • content: String|Buffer content in the from format to be converted
  • return: Promise<Buffer> promised content in the to format

Example:

const htmlToMarkdown = pandoc('html', 'markdown');
 
htmlToMarkdown(fs.readFileSync('index.html'))
  .then(md => {
    console.log(md.toString());
  });

Even better with async/await:

const htmlToMarkdown = pandoc('html', 'markdown');
 
async function convert() {
  const html = fs.readFileSync('index.html');
  const md = await htmlToMarkdown(html);
  console.log(md.toString());
}
 
convert();

Convert with streams

converter.stream(readStream)

  • readStream: Readable a stream conveying content in the from format

  • return: Readable a stream conveying converted content in the to format

Example:

const htmlToMarkdown = pandoc('html', 'markdown');
 
const inputStream = fs.createReadStream('index.html');
const outputStream = fs.createWriteStream('index.md');
htmlToMarkdown.stream(inputStream).pipe(outputStream);

License

MIT © Jun

Readme

Keywords

Package Sidebar

Install

npm i simple-pandoc

Weekly Downloads

55

Version

0.2.0

License

MIT

Unpacked Size

10.5 kB

Total Files

7

Last publish

Collaborators

  • utatti