Skip to content

A grunt plugin that uses Penthouse to extract critical path css

License

Notifications You must be signed in to change notification settings

bsteinborn/grunt-penthouse

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

grunt-penthouse

A grunt plugin based on Penthouse that extracts critical path css to increase page speed rendering

NPM version Build Status

Getting Started

Install the plugin

npm install grunt-penthouse --save-dev

Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:

grunt.loadNpmTasks('grunt-penthouse');

Configure the Grunt task

In your project's Gruntfile, add a section named penthouse to the data object passed into grunt.initConfig().

Example

grunt.initConfig({
  penthouse: {
    extract : {
        outfile : '.tmp/out.css',
        css : './dist/css/full.css',
        url : 'http://localhost:9000',
        width : 1300,
        height : 900
    },
  },
});

See the setup in the Gruntfile for this plugin for an example setup of how one can use this plugin with the connect plugin to automatically extract critical css as a step in an automatic build process.

Other tips

The resulting css file needs to be embedded in the head of the html files you are serving to your clients. This can either be done dynamically at runtime (e.g. include in your index.php file), or as a part of your build process - building it into your html files. One plugin that can help you achieve this is the grunt-codekit plugin

See its README for an example on how to achieve this.

Release History

  • v0.1.1 First working release
  • v0.1.2 Updated to penthouse version 0.2.5
  • v0.2.1 Updated to penthouse version 0.3.0

About

A grunt plugin that uses Penthouse to extract critical path css

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 85.3%
  • HTML 7.4%
  • CSS 7.3%