const removeNewlines = (string) => string.replace(/\n$/g, ""); // See https://gohugo.io/hugo-pipes/postprocess/#css-purging-with-postcss const purgecss = require("@fullhuman/postcss-purgecss")({ content: [ // // TODO: Maybe use process.cwd() to get some heuristics of what // is going on, i.e. which of the following cases we are in. // // When this file is copied to the root of your Hugo site "./hugo_stats.json", // When your Hugo site does not have its own postcss.config.js // and hence this file is used inside ./themes/hugo-product-launch "../../hugo_stats.json", // When building the exampleSite during development "./exampleSite/hugo_stats.json", ], defaultExtractor: (content) => { let els = JSON.parse(content).htmlElements; // An HTML element-name may include a newline, e.g. // Yo! // Thus we remove those newlines. return els.tags.concat(els.classes, els.ids).map(removeNewlines); }, }); module.exports = { plugins: [ require("postcss-import"), require("tailwindcss"), require("autoprefixer"), //...(process.env.HUGO_ENVIRONMENT === "production" ? [purgecss] : []), ], };