Home

Awesome

grunt-ucss

Run ucss with grunt.

Getting Started

If you haven't used grunt before, be sure to check out the Getting Started guide.

From the same directory as your project's Gruntfile and package.json, install this plugin with the following command:

npm install grunt-ucss --save-dev

Once that's done, add this line to your project's Gruntfile:

grunt.loadNpmTasks('grunt-ucss');

If the plugin has been installed correctly, running grunt --help at the command line should list the newly-installed plugin's task or tasks. In addition, the plugin should be listed in package.json as a devDependency, which ensures that it will be installed whenever the npm install command is run.

The "ucss" task

The task can do two things; Analyze html+css using ucss and print out any unused selectors in the grunt log and use that information to create new clean

Overview

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

grunt.initConfig({
  ucss: {
    target: {
      options: {
        whitelist: ['.some-ok-selector'],
        auth: null
      },
      pages: {
        crawl: 'http://localhost/crawlstart',
        include: ['http://localhost/extra-not-reachable-by-crawl']
      },
      css: ['http://localhost/styles.css']
    }
  }
})

Options

options.whitelist

Type: Array of String Default value: []

An array of selectors that should be 'white listed' meaning will not be listed or cleaned away even though it isn't used.

options.auth

Type: Object Default value: null

Let's you specify authentication to use. See ucss auth documentation for more details

pages.crawl

Type: String Default value: []

Specify a html-file to start crawling

pages.include

Type: Array of String Default value: []

Any extra pages not included in the crawl.

css

Specify what css files to analyze

Contributing

In lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using grunt.

TODO

So, I started up this task and then abandoned it for a while... I've released this initial version just to get a version ppl can start using. I will add more test-cases and so on later on, and if you got an idea or feature to add just tell me :)

Release History