Compass is a CSS authoring framework that uses Sass. What does that mean? It’s a fancy way of saying that Compass makes writing style sheets less painful. Sass is a preprocessor for CSS which allows one to use and write functions and variables in styles which are compiled into functional CSS. Compass uses and extends Sass providing solutions for common cross-browser issues such as differing interpretations of the standards or easing transition to adding newly defined CSS that is not yet widely adopted. There are other solutions similar to Sass and Compass, but they are the solutions I like.
The only difficulty that I ran into with integrating Compass into my nanoc work flow was an incorrect path example for formally integrating Compass into nanoc at http://compass-style.org/help/tutorials/integration/. The document suggests creating the Compass configuration file at the root of your nanoc project and then has you set the project_path variable in that configuration file to point to the parent directory of the nanoc project. Solutions: either place the Compass configuration in a subdirectory of the nanoc project or set the project_path using File.expand_path(File.dirname(__FILE__)) instead of the given suggestion.