simple-pandoc
v0.2.0
Published
A thin and simple pandoc wrapper function
Downloads
429
Readme
simple-pandoc
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 documentationto
:String
a format specified in the pandoc documentationopts
:...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 thefrom
format to be converted- return:
Promise<Buffer>
promised content in theto
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 thefrom
formatreturn:
Readable
a stream conveying converted content in theto
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