Skip to content

finlay-x/gulp-extract-critical-css

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

gulp-extract-critical-css


Introduction

A Gulp plugin that allows you to extract critical CSS from a source CSS file.

The plugin reads a CSS file and extracts the sections between the markers /*! CRITICAL:START */ and /*! CRITICAL:END */. It concatenates all the extracted sections into a single string - through the plugin options you can choose to either output this critical CSS to a separate file named critical.css or inline it in to the end of the <head> section of a HTML file. The plugin also offers an option to modify the source CSS file by removing the critical CSS sections.

Installation

You can install gulp-extract-critical-css using npm:

$   npm install gulp-extract-critical-css --save-dev

Usage

Inside your gulpfile:

const gulp = require('gulp');
const extractCriticalCss = require('gulp-extract-critical-css');

function criticalCSS() {
    return gulp.src('./dist/style.css')
      .pipe(extractCriticalCss())
      .pipe(gulp.dest('./dist/'));
}

exports.criticalCSS = series(criticalCSS)

Inside your ./dist/style.css file

/*! CRITICAL:START */
header {
    background: red;
}
/*! CRITICAL:END */

body {
    background: green;
}

footer {
    background: blue;
}

Expected Output Files

The modified ./dist/style.css :

body {
    background: green;
}

footer {
    background: blue;
}

The generated ./dist/critical.css :

header {
    background: red;
}

Options:

Option Type Default Description
inlineCritical Boolean false Determines whether a critical.css file is generated or if the critical CSS gets inlined.
inlinePath string - A path to a file that contains your closing </head> tag, this is where the inlined CSS will be appended.
Required if inlineCritical is set to true
modifySource Boolean false Determines whether the source file should be modified - setting to true will remove the critical CSS from the source file.

About

Extract critical CSS from a CSS file

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published