// Remove unused CSS selectors.
const purgecss = require('@fullhuman/postcss-purgecss')({
    content: [
        // Use stats generated by Hugo from HTML content.
        './hugo_stats.json',
        // Add used JS scripts.
        process.env.HUGO_PUBLISHDIR + '/js/click-to-copy.min.*.js',
        process.env.HUGO_PUBLISHDIR + '/js/main.min.*.js',
    ],
    extractors: [
        {
            extractor: (content) => {
                let els = JSON.parse(content).htmlElements;
                return els.tags.concat(els.classes, els.ids);
            },
            extensions: ["json"],
        },
    ],
    // As these classes are only applied by JavaScript, PurgeCSS doesn't see them
    // in the source code and removes them unless we explicitly tell it not to.
    safelist: ['version-picker-selected', 'version-picker-latest']
});

module.exports = {
     plugins: [
         ...(process.env.HUGO_ENVIRONMENT === 'production' ? [ purgecss ] : [])
     ]
 };
