Home

Awesome

Grunt-DSS Build Status

Grunt-DSS is a Grunt plugin that generates UI documentation from CSS, Less, Stylus, Sass files based on the DSS parser output.

Getting Started

This plugin requires Grunt ~0.4.0

If you haven't used Grunt before, be sure to check out the Getting Started guide, as it explains how to create a Gruntfile as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:

npm install grunt-dss --save-dev

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

grunt.loadNpmTasks('grunt-dss');

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

Settings

files

Type: Array or Object Default value: []

Files to parse. Using Grunt default files syntax. More about that on Gruntjs wiki.

options.template

Type: String Default value: {task_path}/template/

A relative path to a mustache template to be used instead of the default.

options.template_index

Type: String Default value: index.handlebars

The filename of the index of the template.

options.output_index

Type: String Default value: index.html

The filename of the index for the output file.

options.parsers

Type: Object Default value: {}

An object filled with key value pairs of functions to be used when parsing comment blocks. See the example below for more context about how to use these.

options.include_empty_files

Type: Boolean Default value: true

Include files without DSS annotations.

Example initConfig

grunt.initConfig({
  dss: {
    docs: {
      files: {
        'api/': 'css/**/*.{css,scss,sass,less,styl}'
      },
      options: {
        template: '/dark_theme/',
        parsers: {
          // Finds @link in comment blocks
          link: function(i, line, block){

            // Replace link with HTML wrapped version
            var exp = /(b(https?|ftp|file)://[-A-Z0-9+&@#/%?=~_|!:,.;]*[-A-Z0-9+&@#/%=~_|])/ig;
            line.replace(exp, "<a href='$1'>$1</a>");
            return line;
          }
        }
      }
    }
  }
});

DSS Sublime Text Plugin

You can now auto-complete DSS-style comment blocks using @sc8696's Auto-Comments Sublime Text Plugin