Fix click-to-copy buttons for code blocks

It turns out that we were purging too much CSS which broke their style.

We use a simple but lazy solution that parses the JS scripts and keeps the matching selectors.

Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
This commit is contained in:
Kévin Commaille 2025-01-06 21:30:06 +01:00
parent 6f1e64cb12
commit 646087cfb9
No known key found for this signature in database
GPG key ID: 0C971D9DBC9D678D

View file

@ -1,11 +1,21 @@
// 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);
}
content: [
// Use stats generated by Hugo from HTML content.
'./hugo_stats.json',
// Add used JS scripts.
process.env.HUGO_PUBLISHDIR + '/js/click-to-copy.js',
process.env.HUGO_PUBLISHDIR + '/js/main.js',
],
extractors: [
{
extractor: (content) => {
let els = JSON.parse(content).htmlElements;
return els.tags.concat(els.classes, els.ids);
},
extensions: ["json"],
},
],
});
module.exports = {