Go to file
2015-09-29 07:05:56 +02:00
lib removed dependency to npm folder structure 2015-09-20 22:15:17 +02:00
test test for #8 2015-09-29 07:03:38 +02:00
.editorconfig implement extract options and test it out 2014-10-18 22:12:33 -03:00
.gitignore fix #6 2015-02-23 17:04:34 +01:00
.jshintrc Added CLI tests & bumped loadcss version 2015-06-25 23:27:56 +02:00
.travis.yml travis update 2015-09-16 06:34:17 +02:00
cli.js bump deps 2015-09-16 06:28:54 +02:00
Gruntfile.js Added CLI tests & bumped loadcss version 2015-06-25 23:27:56 +02:00
History.md changelog 2015-07-10 21:58:56 +02:00
index.js removed dependency to npm folder structure 2015-09-20 22:15:17 +02:00
LICENSE Initial commit 2014-08-04 00:01:39 +02:00
package.json Merge branch 'master' into greenkeeper-pin 2015-09-29 07:05:56 +02:00
README.md loadCSS Tweaks 2015-07-10 21:55:28 +02:00

inline-critical

Inline critical-path css and load the existing stylesheets asynchronously. Existing link tags will also be wrapped in <noscript> so the users with javscript disabled will see the site rendered normally.

build status

Installation

This module is installed via npm:

$ npm install inline-critical

Example Usage

var inline = require('inline-critical');
var html = fs.readFileSync('test/fixtures/index.html', 'utf8');
var critical = fs.readFileSync('test/fixtures/critical.css', 'utf8');

var inlined = inline(html, critical);

Example Usage ignoring stylesheet per regex

var inline = require('inline-critical');
var html = fs.readFileSync('test/fixtures/index.html', 'utf8');
var critical = fs.readFileSync('test/fixtures/critical.css', 'utf8');

var inlined = inline(html, critical, {
  ignore: [/bootstrap/]
});

CLI

inline-critical works well with standard input. You can either pass in the html

cat index.html | inline-critical critical.css

or just flip things around

cat critical.css | inline-critical index.html

or pass in the fileas as an option

inline-critical critical.css index.html

without having to worry about the correct order

inline-critical index.html critical.css

Run inline-critical --help to see the list of options.

inline(html, styles, options?)

  • html is the HTML you want to use to inline your critical styles, or any other styles
  • styles are the styles you're looking to inline
  • options is an optional configuration object
    • minify will minify the styles before inlining
    • extract will remove the inlined styles from any stylesheets referenced in the HTML
    • basePath will be used when extracting styles to find the files references by href attributes
    • ignore ignore matching stylesheets when inlining.
    • selector defines the element used by loadCSS as a reference for inlining.

License

MIT