Commit Graph

29 Commits

Author SHA1 Message Date
Chris Eppstein
12f9ab2291 [Configuration] Asset hosts and cache busters were broken when using the compass CLI. 2010-04-22 13:12:35 -07:00
Chris Eppstein
2680d23190 New CLI option --syntax (-x) and configuration option (preferred_syntax) that govern what sass syntax is used when adding stylesheets to a project. 2010-04-11 20:14:52 -07:00
Chris Eppstein
0c593e2c25 Merge commit 'merbjedi/master'
* commit 'merbjedi/master':
  Adding Pathname support to compass configs
  Adding PathName support for add_project_configuration
  Separating out Rails2 actionpack integration logic
2010-02-21 23:12:17 -08:00
Chris Eppstein
2c05ccf9e9 Provide a convenience function for discovering extensions. 2010-02-21 17:31:37 -08:00
Jacques Crocker
5fc52baa02 Adding Pathname support to compass configs 2010-02-20 13:06:29 -08:00
Jacques Crocker
2b985fd191 Adding PathName support for add_project_configuration 2010-02-20 12:48:58 -08:00
Chris Eppstein
9cca38f85d Disable the parse method with a decent error message. It should only be used internally now. 2010-02-13 17:19:57 -08:00
Chris Eppstein
8172fce22a [Rails] Fix a setup bug and handle compass configuration changes at rails boot.
Existing rails projects should change their compass initializer file to:

    require 'compass'
    rails_root = (defined?(Rails) ? Rails.root : RAILS_ROOT).to_s
    Compass.add_project_configuration(File.join(rails_root, "config", "compass.rb"))
    Compass.configure_sass_plugin!
    Compass.handle_configuration_change!
2010-02-13 17:07:41 -08:00
Chris Eppstein
c1b903024f New APIs for dealing with configuration changes and accessing a compiler instance. 2010-02-13 16:56:53 -08:00
Chris Eppstein
d59451f398 [Rails] Don't set unset options on the Sass::Plugin 2010-02-13 12:22:21 -08:00
Chris Eppstein
bb77dcefcb Default the project directory to the current directory. 2010-02-13 11:40:02 -08:00
Chris Eppstein
5078d0a0a9 [Configuration] Strip trailing slash and directory separtors from directory and path configuration variables.
Closes GH-77.
2010-01-10 12:27:47 -08:00
Chris Eppstein
fd058fae04 [Configuration] The sass cache location can now be set in the compass config file using the cache_dir property and the cache can be disabled by setting cache = false. 2009-12-01 09:57:49 -08:00
Chris Eppstein
0dd89e54f4 Fix line_comments configuration setting. 2009-12-01 00:03:07 -08:00
Chris Eppstein
21cf6c870f Make sure the required libraries appear in the generated configuration file. 2009-11-30 23:46:58 -08:00
Chris Eppstein
4b68a64ea9 Pretty color output for the compass logger. 2009-11-29 20:18:25 -08:00
Chris Eppstein
e359db1a77 Fix some configuration defaults. 2009-11-29 20:18:09 -08:00
Chris Eppstein
070f39c6b7 Added support for a fonts directory. This is where font files are kept
and should be accessible to the webserver. By default the fonts directory
is the "fonts" subdirectory of the css directory but another location
can be set via the fonts_dir and http_fonts_dir configuration options.
2009-11-27 17:15:07 -08:00
Chris Eppstein
04f14eb514 Merge branch 'edge'
* edge: (118 commits)
  Make the tests pass in ruby 1.9
  Fix a bug in FSSM for ruby 1.9. Closes GH-48.
  Version bump to 0.9.4
  Update the TODO.
  If a template provides a haml file, it can have compass-enabled sass filters within it.
  Allow vendored frameworks to override built-in frameworks to enable
  [Rails] Allow compass extensions to be stored in the vendor/plugins/compass/extensions directory.
  Fix some issues regarding how the project type configuration gets applied.
  Don't leave directories around after testing.
  Name all configuration sources for debugging purposes.
  [Command Line] Primary commands get special status in the initial help output.
  [Command Line] Access the Sass Repl (sass -i) with the compass environment loaded.
  Separate the project type default configuration from the installer.
  Add config/compass.rb as a known config location. Default to config/compass.rb as the configuration file for rails projects.
  Fix a bug when the welcome message was not provided by an extension template.
  Version bump to 0.9.3
  Starting work on the changelog for 0.10
  Stuff that needs to be done before the next release.
  Help for each template that ships with compass.
  Allow the welcome message to replace the default one instead of just augment it.
  ...

Conflicts:
	CHANGELOG.markdown
	VERSION.yml
	compass.gemspec
	lib/compass/configuration.rb
	lib/vendor/fssm.rb
	lib/vendor/fssm/state.rb
2009-11-19 10:53:20 -08:00
Chris Eppstein
0da214a987 Fix some issues regarding how the project type configuration gets applied. 2009-11-18 23:43:33 -08:00
Chris Eppstein
bd422403bd Name all configuration sources for debugging purposes. 2009-11-17 08:58:12 -08:00
Chris Eppstein
22cdcf2cb5 Separate the project type default configuration from the installer. 2009-11-14 09:42:37 -08:00
Chris Eppstein
ba33c5a5a6 Add config/compass.rb as a known config location. Default to config/compass.rb as the configuration file for rails projects. 2009-11-14 09:37:36 -08:00
Chris Eppstein
c40982c533 Debug configuration with compass config --debug 2009-11-01 09:59:48 -08:00
Chris Eppstein
d1e1c1756d New compass subcommand: stats. Emits details about your stylesheets. 2009-10-29 01:39:04 -07:00
Chris Eppstein
60ad1e2425 Move project configuration reading out of the command infrastructure and into the configuration helpers. 2009-09-02 10:47:21 -07:00
Chris Eppstein
44e810e840 Allow stand-alone projects to have their own extensions directory. 2009-08-29 15:14:52 -07:00
Chris Eppstein
379118cb1e Don't set the project type explicitly, instead default it to :stand_alone via the configuration object. 2009-08-29 13:20:32 -07:00
Chris Eppstein
f59ca512ce Refactor of the internal datastructures used to access project
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.
2009-08-29 13:20:32 -07:00