github.com/esnet/gdg@v0.6.1-0.20240412190737-6b6eba9c14d8/website/config/postcss.config.js (about) 1 const autoprefixer = require('autoprefixer'); 2 const purgecss = require('@fullhuman/postcss-purgecss'); 3 const whitelister = require('purgecss-whitelister'); 4 5 module.exports = { 6 plugins: [ 7 autoprefixer(), 8 purgecss({ 9 content: [ './hugo_stats.json' ], 10 extractors: [ 11 { 12 extractor: (content) => { 13 const els = JSON.parse(content).htmlElements; 14 return els.tags.concat(els.classes, els.ids); 15 }, 16 extensions: ['json'], 17 }, 18 ], 19 dynamicAttributes: [ 20 'aria-expanded', 21 'data-bs-popper', 22 'data-bs-target', 23 'data-bs-theme', 24 'data-dark-mode', 25 'data-global-alert', 26 'data-pane', // tabs.js 27 'data-popper-placement', 28 'data-sizes', 29 'data-toggle-tab', // tabs.js 30 'id', 31 'size', 32 'type', 33 ], 34 safelist: [ 35 'active', 36 'btn-clipboard', // clipboards.js 37 'clipboard', // clipboards.js 38 'disabled', 39 'hidden', 40 'modal-backdrop', // search-modal.js 41 'selected', // search-modal.js 42 'show', 43 'img-fluid', 44 'blur-up', 45 'lazyload', 46 'lazyloaded', 47 'alert-link', 48 'container-fw ', 49 'container-lg', 50 'container-fluid', 51 'offcanvas-backdrop', 52 'figcaption', 53 'dt', 54 'dd', 55 'showing', 56 'hiding', 57 'page-item', 58 'page-link', 59 ...whitelister([ 60 './assets/scss/**/*.scss', 61 './node_modules/@hyas/doks-core/assets/scss/components/_code.scss', 62 './node_modules/@hyas/doks-core/assets/scss/components/_expressive-code.scss', 63 './node_modules/@hyas/doks-core/assets/scss/common/_syntax.scss', 64 ]), 65 ], 66 }), 67 ], 68 }