NPM module which extracts basic CSS rules for inlining them in your index.html, similar to critical CSS.
npm install basecss --save
var BaseCSS = require('basecss');
var options = {
htmlFile: 'index.html',
cssFile: 'styles.min.css',
selectors: [
'.col-',
'.row',
'h[1-6]'
]
};
new BaseCSS(options).run();
Default options:
{
cssFile: '',
htmlFile: '',
selectors: [
],
propertiesExclude: [
'animation[\-a-z]*', 'transition[\-a-z]*',
'cursor', 'nav[\-a-z]*', 'resize',
'image[\-a-z]*'
],
includeFontFace: true,
minifyCSS: true,
overwriteCSS: true,
showLog: true
}
Only necessary of you use basecss standalone
File, in which the CSS should be included. Needs a head-Element.
Array of selectors for which should be looked. Can contain regular expressions.
For example:
selectors: [
'.base-',
'.col-(sm,lg)-',
'nav',
'article'
]
CSS properties that should be excluded. It's mostly good to leave the default value here, you mostly do not want animations to appear.
Basecss includes by default all @font-face rules in the beginning of the css, so that your fonts get rendered properly. You may want to disable this.
If the CSS should be minified before being inserted - you normally want this
If set to true, overwrites already existing inline css created by basecss - set to false if you want to process multiple css files after another. Then if appends every css block.
Enabled/disabled the "success!" message at the end