Commit Graph

51 Commits

Author SHA1 Message Date
Chris Eppstein
a154d2e5cf A little less noise during installation. 2010-10-30 17:51:00 -07:00
Chris Eppstein
973a568c1d Tests are more useful if you actually run them. 2010-08-05 22:13:35 -07:00
Chris Eppstein
03221b9e7c [Extensions] Manifests don't have to be hard. Allow discovery of basic assets and follow conventions for templates. 2010-08-05 21:18:11 -07:00
Chris Eppstein
776b772c08 [Rails] Don't emit configuration files when installing extensions into an existing project. 2010-08-05 21:16:51 -07:00
Chris Eppstein
a2a0d58508 [Rails] Make it possible to only install the configuration files into a rails project. 2010-07-23 23:31:11 -07:00
Chris Eppstein
755b9a3a11 [Extensions] Make it possible for extensions to create empty directories. Closes GH-173. 2010-07-23 20:41:52 -07:00
Eric Meyer
84992100ea Correctly set the syntax of extension templates when converting them to the users preferred syntax. 2010-04-12 19:25:35 -06: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
eec390ea37 Allow extensions to deliver fonts into projects. 2009-11-28 11:04:03 -08:00
Chris Eppstein
0c2a8a4e21 If a template provides a haml file, it can have compass-enabled sass filters within it. 2009-11-19 01:03:57 -08:00
Chris Eppstein
bd422403bd Name all configuration sources for debugging purposes. 2009-11-17 08:58:12 -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
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
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
8b02a65ab4 Fix bugs in the dry-run mode of project creation. 2009-10-16 17:35:43 -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
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
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
b7ba05f7c1 [Extensions] Compass extensions can now process the content they deliver through ERB. 2009-08-29 13:20:32 -07:00
Chris Eppstein
c9454190e7 [Compass Core] Fixed the append_selector function to allow comma-delimited selectors for both arguments instead of just the first. 2009-08-29 13:20:31 -07:00
Chris Eppstein
1a9156c010 [Extensions] Compass extensions can now deliver html into a compass project which can be authored in haml if they prefer. 2009-08-29 13:20:31 -07:00
Chris Eppstein
50aa936e02 [Rails] [Closes #32] Don't suggest creating a stylesheet link to partials. 2009-08-22 08:25:32 -07:00
Chris Eppstein
0492fc9969 Binary mode support for proper handling of binary files on Windows.
All images will now be installed using binary mode. Additionally, any file can
be installed in binary mode if the manifest specifies the option :binary => true
for that file.
2009-08-16 11:17:27 -07:00
Chris Eppstein
48a0356ad8 [Installer] Fixed a bug that caused the output after installing to not display the conditional comments. 2009-07-07 11:31:03 -07:00
Chris Eppstein
94e9696b30 [Rails] When installing into a new rails project, set the http paths correctly for stylesheets and javascripts. 2009-07-07 11:18:58 -07:00
Chris Eppstein
21cfce33db [Extensions] When installing a file, the :like option can now be set to have it installed into the same location as what it is like. 2009-07-06 07:18:25 -07:00
David Turnbull
07ade33da3 Fix 'script' 'javascript' mismatch. Allow use of javascript command in manifest. 2009-07-05 17:29:30 -07:00
Chris Eppstein
d2acd343b8 [Command Line] Allow the configuration file being read to be specified explicitly. This also affects the output location of the --write-configuration command. 2009-06-28 14:41:02 -07:00
Chris Eppstein
6348ea3e67 [Compass Internals] Don't emit a stylesheet link to partials when printing the installation results. 2009-06-21 02:24:39 -07:00
Enrico Bianco
77f6e02c0e [Blueprint] Upgrade to 0.9: Make IE conditional comments more configurable in project manifests 2009-06-20 15:52:36 -07:00
Chris Eppstein
7b90aef5d4 [Rails] Don't set the output style in the compass.config file for rails projects. It will default according to the runtime environment. Closes GH-4. 2009-05-23 09:57:50 -07:00
Chris Eppstein
ddfba8ec83 [Command Line] Fixed bug that caused the --write-configuration option to break. 2009-05-02 15:13:54 -07:00
Chris Eppstein
cc1b603263 [Rails] Bug fix: The http_images_path configuration default should be "/images" instead of "/public/images". 2009-04-21 10:07:48 -07:00
Lee Nussbaum
d5f44081ef Set compass environment in plugin based on RAILS_ENV (currently used to set line_comments option).
Fix line_comments option for plugin.

Signed-off-by: Chris Eppstein <chris@eppsteins.net>
2009-04-19 09:43:58 -07:00
Chris Eppstein
cb2b5c0891 Slightly better followup message for rails projects installing patterns. 2009-04-07 00:22:22 -07:00
Chris Eppstein
591bd882bf There were far too many things trying to be in charge of setting configuration. Now there are less. 2009-04-07 00:22:21 -07:00
Chris Eppstein
ae4daa2572 Better rails boot sequence for compass that is both rails and compass command line friendly. 2009-04-05 03:50:41 -07:00
Chris Eppstein
e18ed8118b Support for Framework Patterns.
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
2009-04-03 01:06:23 -07:00
Chris Eppstein
e14f6968f1 Allow rails installs to proceed without requiring input if the css-dir and sass-dir options are set on the command line. 2009-02-21 00:27:48 -08:00
Chris Eppstein
6c4759278e Don't return a trailing slash from templatize or targetize. 2009-02-08 03:46:46 -08:00
Chris Eppstein
29666e177c DRY up the different types of installs. 2009-02-08 03:46:46 -08:00
Chris Eppstein
a0552a67c4 Modify the update command to use the Actions module and Logger. Moved the compile action to the Actions module. 2009-02-08 03:46:46 -08:00
Chris Eppstein
dbc262fbe1 Factored out an Actions module for doing the filesystem actions like copying, making directories, etc. 2009-02-08 03:46:46 -08:00
Chris Eppstein
a7406659b6 New Ruby on Rails project installer. 2009-02-08 03:46:46 -08:00
Chris Eppstein
94f4471ad5 Better followup messages after installation. 2009-02-08 03:45:48 -08:00
Chris Eppstein
1da3b3ae9b Add a to method to Manifest::Entry to centralize the logic. 2009-02-08 03:45:48 -08:00
Chris Eppstein
d2a3046526 Make the Configuration class a singleton + added some access helpers to
the Compass module.
2009-02-08 03:45:48 -08:00