Commit Graph

205 Commits

Author SHA1 Message Date
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
57aae94511 Fix a bug when the welcome message was not provided by an extension template. 2009-11-01 21:08:45 -08:00
Chris Eppstein
1981e5f2ca Help for each template that ships with compass. 2009-11-01 17:40:50 -08:00
Chris Eppstein
d4f67a315c Allow the welcome message to replace the default one instead of just augment it. 2009-11-01 17:09:44 -08:00
Chris Eppstein
353a225ac5 Allow help, welcome message, and description of an extension to be specified in the manifest file. 2009-11-01 16:49:44 -08:00
Chris Eppstein
8bcdd7360d Each framework pattern can have help now. 2009-11-01 15:26:58 -08:00
Chris Eppstein
9ae53ac72e Move compass/utilities/css3 module to compass/css3 2009-11-01 10:01:29 -08:00
Chris Eppstein
c40982c533 Debug configuration with compass config --debug 2009-11-01 09:59:48 -08:00
Chris Eppstein
d1a6490f2c Make the validator work even when you're not in the project directory. 2009-10-30 09:27:59 -07:00
Chris Eppstein
b0637be654 Fix some test errors that occur when gems are missing. 2009-10-30 08:19:44 -07:00
Chris Eppstein
2675f8ed9a CSS Stats for projects so that the complexities can be compared. 2009-10-29 11:35:20 -07:00
Chris Eppstein
d1e1c1756d New compass subcommand: stats. Emits details about your stylesheets. 2009-10-29 01:39:04 -07:00
Chris Eppstein
0d45a3b4aa Subcommand for writing a configuration file. 2009-10-26 18:52:27 -07:00
Chris Eppstein
dd750391be Subcommand for CSS validation. 2009-10-26 18:52:00 -07:00
Chris Eppstein
217c522a92 test scenario for the rails project initialization. 2009-10-25 20:15:31 -07:00
Beau Smith
adce6a4873 applying border to image element rather than anchor element 2009-10-25 17:22:15 -07:00
Chris Eppstein
3e99fedab0 Added a watch subcommand. Watching a project can now by done with: compass watch 2009-10-25 00:47:09 -07:00
Chris Eppstein
c8df3f3c42 New subcommand: compile 2009-10-24 17:44:42 -07:00
Chris Eppstein
f9c5644dcc Ability to create a bare project by passing the --bare option to the create command. 2009-10-24 15:21:08 -07:00
Chris Eppstein
853e97f2e4 [Command Line] Ability to create a bare project with no stylesheets provided. 2009-10-22 09:46:54 -07:00
Chris Eppstein
964304caa4 This fixes a bug in ruby 1.8.7. 2009-10-21 17:59:51 -07:00
Chris Eppstein
8b02a65ab4 Fix bugs in the dry-run mode of project creation. 2009-10-16 17:35:43 -07:00
Chris Eppstein
4c4cc0e55f Handle a call to the command line with no arguments. 2009-10-16 00:56:16 -07:00
Chris Eppstein
8b5868ca00 Grid image subcommand. 2009-10-05 00:56:49 -07:00
Chris Eppstein
12dcccad5d Install subcommand. 2009-10-04 22:22:07 -07:00
Chris Eppstein
f16b12e56b This looks a little better. 2009-10-04 22:18:19 -07:00
Chris Eppstein
b8d380d68c Version subcommand. 2009-10-04 22:17:56 -07:00
Chris Eppstein
515cdb316e Help command as a univeral way to access help information. With help for other commands so far. 2009-10-04 15:58:05 -07:00
Chris Eppstein
dedff936b8 Better output for -h, --help and on option parse error. 2009-10-04 13:45:46 -07:00
Chris Eppstein
0fc9a0e3c8 Subcommand UI for project creation and initialization. 2009-10-04 00:33:36 -07:00
Chris Eppstein
4cc569586b Restructure the existing command line code to allow for the new sub-command based CLI. 2009-09-29 18:35:24 -07:00
Chris Eppstein
772a58de41 Converted the blueprint stylesheets to css-style properties. 2009-09-28 22:34:41 -07:00
Chris Eppstein
e744c1e0db Convert the compass core framework to css-style property syntax. 2009-09-28 21:52:49 -07:00
Chris Eppstein
6e7f658f3b Move the frameworks directory into lib/compass per gem packaging best practices. 2009-09-02 21:45:15 -07:00
Chris Eppstein
e6b14cf5bb Provide a Compass::VERSION constant. 2009-09-02 21:45:14 -07:00
Chris Eppstein
b13fd43a2e Require relative to the load path instead of using the more convoluted approach of File.join(File.dirname(__FILE__), ...).
Also, don't ever muck with the load paths or rubygems without first
trying to require the library without doing so.
2009-09-02 21:45:08 -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
54a459f28e Allow specification of a height for the grid image. 2009-09-01 20:20:53 -07:00
Chris Eppstein
cb45b6d438 Generalized application framework integration. There are three that ship with compass: Merb, Rails, and StandAlone.
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.
2009-09-01 20:20:23 -07:00
Chris Eppstein
3456f993d4 Merge branch 'master' into edge
* 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.
2009-08-30 11:53:47 -07:00
Chris Eppstein
005f6d4f36 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. 2009-08-30 11:37:52 -07:00
Chris Eppstein
92464c5f6a More flexible manifests that can see the installation options and might
not even have any stylesheets or require a project configuration file.
2009-08-29 15:14:52 -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
bc27541378 New framework discovery mechanism: Compass can now load any number of
frameworks by passing a directory that contains those frameworks. Each
framework can choose to adhere to the naming convention of providing a
'stylesheets' directory and a 'templates' directory, or it can register
itself by providing a ruby file at one of the following locations:

<plugin>/compass_init.rb
<plugin>/lib/<plugin>.rb
<plugin>/<plugin>.rb

The first file found in the above order will be required. The framework
should register itself there using the Compass::Frameworks.register method.
2009-08-29 15:14:51 -07:00
Chris Eppstein
a0036ec0f1 remove some blank lines. 2009-08-29 15:14:51 -07:00
Chris Eppstein
5d8e8cae02 Fixed bug related to how the project_type was defaulted. 2009-08-29 15:13:51 -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
dd867d668a Use the http_stylesheets_path instead of hard coding. 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
Chris Eppstein
ac264606c8 DRY up the loading of the installer modules. 2009-08-29 13:20:32 -07:00