/styledocco

Automatically generate a style guide from your stylesheets.

Primary LanguageJavaScriptMIT LicenseMIT

StyleDocco

StyleDocco generates documentation and style guide documents from your stylesheets.

Stylesheet comments will be parsed through Markdown and displayed in a generated HTML document. You can write HTML code prefixed with 4 spaces or between code fences (```) in your comments, and StyleDocco show a preview with the styles applied, and displays the example HTML code.

The previews are rendered in a resizable iframes to make it easy to demonstrate responsive designs at different viewport sizes.

Suggestions, feature requests and bug reports are welcome either at GitHub or on Twitter (@jacobrask).

Installation

StyleDocco requires Node.js. After installing Node.js, run npm install -fg styledocco or clone this repository and run ./bin/styledocco.

StyleDocco is free and open source software, released under the MIT license.

Usage

styledocco [options] [STYLESHEET(S)]

Options

  • --name, -n Name of the project
  • --out, -o Output directory (default: "docs")
  • --preprocessor Custom preprocessor command. (optional) (ex: --preprocessor "~/bin/lessc")
  • --include Include specified CSS and/or JavaScript files in the previews. (optional) (ex: --include mysite.css --include app.js)
  • --verbose Show log messages when generating the documentation. (default: false)
  •                 Stylesheet (or directory of stylesheets) to process.
    

Usage examples

Generate documentation for My Project in the docs folder, from the files in the css directory.

styledocco -n "My Project" css

Generate documentation for My Project in the mydocs folder, from source files in the styles folder. Use the --compass option for SASS to make Compass imports available.

styledocco -n "My Project" -o mydocs -s mydocs --preprocessor "scss --compass" styles

Syntax

/* Provides extra visual weight and identifies the primary action in a set of buttons.

    <button class="btn primary">Primary</button> */
.btn.primary {
    background: blue;
    color: white;
}

Would display the description, a rendered button as well as the example HTML code. The CSS will be applied to the preview.

See the examples folder for more in-depth examples.

Tips and tricks

  • StyleDocco will automatically compile any SASS, SCSS, Less or Stylus files before they are applied to the page. You can also enter a custom preprocessor command if you want to pass custom parameters to the preprocessor.
  • If your project includes a README.md file, it will be used as the base for an index.html.
  • If you don't specify a custom name, StyleDocco will use the name from a package.json file if it finds one.
  • Put some whitespace before a comment block to exclude it from the documentation.
  • Level 1 headings will automatically create a new section in the documentation.
  • Add :hover, :focus, etc as class names in example code and the pseudo class styles will be applied in the preview.

Change Log

v0.6.6 - Jan 28, 2014

  • Fix failure to render iframes in new versions of Chrome (#100)
  • Make it an option to minify the code (#106)

v0.6.5 - Nov 17, 2013

  • Fix failure to install on some systems (#94)

v0.6.4 - Oct 07, 2013

  • Large preprocessor outputs hit the maxBuffer limit (#87)
  • Relative image path is no longer added to data: URLs (#88)
  • Replace path.exists with fs.exists (#92)
  • Can now use a backslash to separate directories on Windows (#95)
  • HTTP URLs in paths now behave correctly (#97)

v0.6.3 - July 09, 2013

  • Do not add relative paths to data URLs

v0.6.2 - June 30, 2013

  • Find assets recursively in Windows
  • Fail gracefully on no files error
  • Relative url() paths are now preserved

v0.6.1 - August 20, 2012

  • Mute all preprocessor errors unless using verbose option
  • Don't try to preprocess SASS partials
  • Design tweaks

v0.6.0 - August 15, 2012

  • Remove custom resources option, as client side scripts/styles are vital to the functionality
  • Editable, auto-updating code examples
  • Documentation-wide search
  • Page specific Table of Contents

v0.5.0 - July 23, 2012

  • Render previews in sandboxed iframes
  • Resizing of iframes for responsive debugging
  • All processed CSS is included in all previews
  • Allow custom JavaScript and CSS files to be included in previews
  • Updated design with topbar instead of sidebar and new colors

Acknowledgements

A lot of the heavy lifting in StyleDocco is done by the excellent Marked module by Christopher Jeffrey. The original Docco by Jeremy Ashkenas and Knyle Style Sheets have also been sources of inspiration for StyleDocco.