var Metalsmith = require("metalsmith");
var htmlMinifier = require("metalsmith-html-minifier");
var layouts = require("metalsmith-layouts");
var markdown = require("metalsmith-markdown-remarkable");
var permalinks = require("@metalsmith/permalinks");
var static = require("metalsmith-static");
var puppeteer = require("puppeteer");
var srcHTML = "file:" + __dirname + "/pub/index.html";
var destPDF = "./pub/cv-anders-englof-ytterstrom.pdf";
async function generatePDF() {
const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.goto(srcHTML, {
waitUntil: "networkidle2",
});
await page.pdf({
path: destPDF,
});
await browser.close();
}
Metalsmith(__dirname)
.source("./src")
.destination("./pub")
.use(
markdown({
html: true,
typographer: false,
}),
)
.use(permalinks())
.use(
layouts({
engine: "handlebars",
}),
)
.use(htmlMinifier())
.use(
static({
src: "./assets",
dest: "./",
}),
)
.build(function (err, _files) {
if (err) {
throw err;
}
generatePDF();
});