remarkable_pdfmake

Convert markdown text to [PDFMake](https://github.com/bpampuch/pdfmake) arguments.

Usage no npm install needed!

<script type="module">
  import remarkablePdfmake from 'https://cdn.skypack.dev/remarkable_pdfmake';
</script>

README

Remarkable PDFMake Plugin

A Remarkable plugin that converts Markdown to PDFMake arguments.

Install

$ npm install --save remarkable_pdfmake

Example


const fs = require('fs'),
    PdfPrinter = require('pdfmake'),
    Remarkable = require('remarkable'),
    remarkablePdfMake = require('remarkable_pdfmake');
    remarkable = new Remarkable(),
    printer = new PdfPrinter({
        Helvetica: {
            normal: 'Helvetica',
            bold: 'Helvetica-Bold',
            italics: 'Helvetica-Oblique',
            bolditalics: 'Helvetica-BoldOblique'
        }
    }),
    file = '/tmp/markdown.pdf'
    md = [
        'Here we have some Markdown that is **bold** and some *italic* or even _**italibold**_.',
        'Here\'s a [link to Google!](http://google.com)',
        '',
        `You can embed relative images or data URIs: ![Alt text is ignored](${DATA_URI})`,
    ],

remarkable.use(plugin);

let promise, parsed, writeStream, pdfDoc;

parsed = remarkable.render(md.join('\n'));

writeStream = fs.createWriteStream(file);

pdfDoc = printer.createPdfKitDocument({
    content: parsed,
    defaultStyle: {
        font: 'Helvetica'
    }
});

pdfDoc.pipe(writeStream);
pdfDoc.end();

Limitations

Does not parse lists or tables.

Testing

$ npm install && npm test