1
mirror of https://github.com/jakejarvis/jarv.is.git synced 2025-04-27 12:36:20 -04:00

32 lines
932 B
JavaScript

const ampOptimizer = require("@ampproject/toolbox-optimizer").create({
verbose: true,
});
const fs = require("fs");
const glob = require("glob");
module.exports = {
onPostBuild: async ({ constants, utils }) => {
// Hugo renders my AMP pages as amp.html right next to each page's index.html
const pattern = constants.PUBLISH_DIR + "/**/amp.html";
const files = await new Promise((resolve, reject) => {
glob(pattern, { nodir: true }, (err, files) => {
err ? reject(err) : resolve(files);
});
});
await Promise.all(
files.map(async (file) => {
const html = await fs.promises.readFile(file, "utf-8");
const optimizedHtml = await ampOptimizer.transformHtml(html);
await fs.promises.writeFile(file, optimizedHtml);
})
);
utils.status.show({
title: `${files.length} AMP pages optimized`,
summary: "Great success! ⚡",
});
},
};