simple-pandoc

A thin and simple pandoc wrapper function

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
simple-pandoc
0.2.06 years ago8 years agoMinified + gzip package size for simple-pandoc in KB

Readme

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)
a stream conveying content in the from format
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