Optimize generated CSS by removing unused selectors (#2008)
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>
This commit is contained in:
parent
54d872e19b
commit
1accb9e93f
8 changed files with 1240 additions and 279 deletions
15
postcss.config.js
Normal file
15
postcss.config.js
Normal file
|
@ -0,0 +1,15 @@
|
|||
// 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 ] : [])
|
||||
]
|
||||
};
|
Loading…
Add table
Add a link
Reference in a new issue