Hugo generates stats about the HTML elements, IDs and classes that can be found in the website, and we post-process the rendered CSS with postcss-purgecss that uses those stats to remove unused selectors. Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
15 lines
444 B
JavaScript
15 lines
444 B
JavaScript
// Remove unused CSS selectors.
|
|
const purgecss = require('@fullhuman/postcss-purgecss')({
|
|
// Use stats generated by Hugo.
|
|
content: [ './hugo_stats.json' ],
|
|
defaultExtractor: (content) => {
|
|
let els = JSON.parse(content).htmlElements;
|
|
return els.tags.concat(els.classes, els.ids);
|
|
}
|
|
});
|
|
|
|
module.exports = {
|
|
plugins: [
|
|
...(process.env.HUGO_ENVIRONMENT === 'production' ? [ purgecss ] : [])
|
|
]
|
|
};
|