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 anindex.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.