All application specific behavior is now centralized within the app integration modules.
Plugins can now provide app integration using the --app command line option and by adding the appropriate classes to the compass module tree.
* master:
[Blueprint] Add mixins for +prepend-top and +append-bottom and corresponding grid classes when generating the css grid classes.
Use FSSM by Travis Tilley to monitor for filesystem changes. On mac this will use filesystem events instead of polling. Fixes an infinite looping issue when compilation errors occur.
configuration. Configuration is now a singly linked list of configuration objects
that inherit values and defaults from the next configuration instance.
All instances hold a reference to the top of the configuration chain.
There is now a consistent API for reading configuration property values:
<attr>: Reads the fully-resolved attribute after taking
configuration inheritance and defaults into account.
raw_<attr>: reads attribute from a configuration object without
inheritance or defaults.
default_for(<attr>): reads the default value for an attribute
default_for_<attr>: specifies the default value for an attribute.
<attr>_without_default: reads the inherited attribute without applying defaults.
comment_for_<attr>: Specifies a comment that will be emitted above the
property when serializing the configuration to a file.
Additionally, method_missing and respond_to both work down the
configuration chain, so any method that is added to a configuration
instance, can be accessed from the top level.
The distinction between default and explicitly set values allows compass
to more correctly manage the serialization of attributes when creating
configuration files for projects.
The compass configuration can still be accessed via
Compass.configuration, however, the configuration object is no longer a
singleton. This means that you can build several configuration chains
to track several projects at once. This should ease the use of compass
in other frameworks and plugins that want to use compass internally.
1. For robustness, recompile is now based on comparison of corresponding css/sass file timestamps.
2. If a sass file is removed, the corresponding css file is automatically deleted.
3. CSS files will be automatically recompiled if removed. It is no longer necessary to resave the sass file.
4. First time compile is not performed if not necessary.
A pattern is a folder in the framework's templates directory. It must
have a manifest file that tells compass what to install and where.
Unlike the project template, a pattern can be stamped out any number of
times.
It is best for pattern stylesheets to only provide example usage to get
the user started. All the core styles for the pattern should be
distributed as part of the framework's stylesheets as mixins to
facilitate easy upgrades and bug fixing on the part of the pattern's
maintainer.
Patterns can install stylesheets, images, javascripts, and arbitrary
files. The installer will put these assets into the correct locations
according to the project type (E.g. rails, stand-alone).
Example Usage:
compass --framework blueprint --pattern buttons