README
metalsmith-pdfize
A Metalsmith plugin to export files to PDF.
Internally, it uses Chrome in headless mode with
Puppeteer to generate a PDF version
of any file registered in Metalsmith with print
CSS media.
Installation
This plugin requires Node.js 12 or later
$ npm install metalsmith-pdfize
Usage
JavaScript
const metalsmith = require('metalsmith');
const pdfize = require('pdfize');
metalsmith.use(pdfize({
pattern: ['page/cv/*', 'another/page/*html'],
printOptions: {
printBackground: true,
format: 'A4',
},
});
The pdfize
function accepts an option object with 2 entries:
pattern
: a multimatch pattern(s) matching files that should be loaded and exported to PDFprintOptions
: an object that is directly passed to puppeteerPage#pdf()
function to control headless Chrome behaviour. See Puppeteer documentation for available options.
PDF files are registered into Metalsmith files list. Generated PDF files are
named after the file used as source with the .pdf
suffix. For instance, if a
pattern matches the file page/cv/index.html
, the generated PDF path will be
page/cv/index.html.pdf
. metalsmith-pdfize
does not support file
renaming,
metalsmith-renamer can be
used if you need to rename generated PDF.
CLI
{
"plugin": {
"metalsmith-pdfize": {
"pattern": ["page/cv/*", "another/page/*html"],
"printOptions": {
"printBackground": true,
"format": "A4"
}
}
}
}
License
MIT