chriseppstein-compass 0.3.9 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/Manifest +13 -2
- data/VERSION +1 -1
- data/compass.gemspec +4 -4
- data/frameworks/blueprint/templates/project/manifest.rb +5 -0
- data/frameworks/compass/templates/project/ie.sass +5 -2
- data/frameworks/compass/templates/project/manifest.rb +3 -0
- data/frameworks/compass/templates/project/print.sass +4 -2
- data/frameworks/compass/templates/project/screen.sass +5 -2
- data/frameworks/yui/templates/project/manifest.rb +1 -0
- data/lib/compass/actions.rb +92 -0
- data/lib/compass/commands/base.rb +9 -85
- data/lib/compass/commands/create_project.rb +23 -26
- data/lib/compass/commands/list_frameworks.rb +1 -1
- data/lib/compass/commands/print_version.rb +1 -1
- data/lib/compass/commands/project_base.rb +28 -43
- data/lib/compass/commands/update_project.rb +24 -37
- data/lib/compass/commands/watch_project.rb +4 -0
- data/lib/compass/compiler.rb +40 -0
- data/lib/compass/configuration.rb +52 -0
- data/lib/compass/core_ext.rb +1 -28
- data/lib/compass/errors.rb +7 -0
- data/lib/compass/exec.rb +8 -9
- data/lib/compass/installers/base.rb +135 -0
- data/lib/compass/installers/manifest.rb +57 -0
- data/lib/compass/installers/rails.rb +117 -0
- data/lib/compass/installers/stand_alone.rb +76 -0
- data/lib/compass/installers.rb +5 -0
- data/lib/compass/logger.rb +34 -0
- data/lib/compass/version.rb +35 -17
- data/lib/compass.rb +4 -1
- data/test/command_line_test.rb +10 -7
- metadata +25 -5
- data/frameworks/compass/templates/project/grid.png +0 -0
- data/lib/compass/commands/install_rails.rb +0 -97
data/Manifest
CHANGED
@@ -69,6 +69,7 @@ frameworks/blueprint/stylesheets/blueprint/modules/_typography.sass
|
|
69
69
|
frameworks/blueprint/stylesheets/blueprint/modules/_utilities.sass
|
70
70
|
frameworks/blueprint/templates/project/grid.png
|
71
71
|
frameworks/blueprint/templates/project/ie.sass
|
72
|
+
frameworks/blueprint/templates/project/manifest.rb
|
72
73
|
frameworks/blueprint/templates/project/print.sass
|
73
74
|
frameworks/blueprint/templates/project/screen.sass
|
74
75
|
frameworks/blueprint.rb
|
@@ -97,8 +98,8 @@ frameworks/compass/stylesheets/compass/utilities/lists/_inline_list.sass
|
|
97
98
|
frameworks/compass/stylesheets/compass/utilities/tables/_alternating_rows_and_columns.sass
|
98
99
|
frameworks/compass/stylesheets/compass/utilities/text/_nowrap.sass
|
99
100
|
frameworks/compass/stylesheets/compass/utilities/text/_replacement.sass
|
100
|
-
frameworks/compass/templates/project/grid.png
|
101
101
|
frameworks/compass/templates/project/ie.sass
|
102
|
+
frameworks/compass/templates/project/manifest.rb
|
102
103
|
frameworks/compass/templates/project/print.sass
|
103
104
|
frameworks/compass/templates/project/screen.sass
|
104
105
|
frameworks/compass.rb
|
@@ -107,19 +108,29 @@ frameworks/yui/stylesheets/_yui.sass
|
|
107
108
|
frameworks/yui/stylesheets/yui/modules/_base.sass
|
108
109
|
frameworks/yui/stylesheets/yui/modules/_fonts.sass
|
109
110
|
frameworks/yui/stylesheets/yui/modules/_grids.sass
|
111
|
+
frameworks/yui/templates/project/manifest.rb
|
110
112
|
frameworks/yui/templates/project/screen.sass
|
111
113
|
frameworks/yui.rb
|
114
|
+
lib/compass/actions.rb
|
112
115
|
lib/compass/commands/base.rb
|
113
116
|
lib/compass/commands/create_project.rb
|
114
|
-
lib/compass/commands/install_rails.rb
|
115
117
|
lib/compass/commands/list_frameworks.rb
|
116
118
|
lib/compass/commands/print_version.rb
|
117
119
|
lib/compass/commands/project_base.rb
|
118
120
|
lib/compass/commands/update_project.rb
|
119
121
|
lib/compass/commands/watch_project.rb
|
122
|
+
lib/compass/compiler.rb
|
123
|
+
lib/compass/configuration.rb
|
120
124
|
lib/compass/core_ext.rb
|
125
|
+
lib/compass/errors.rb
|
121
126
|
lib/compass/exec.rb
|
122
127
|
lib/compass/frameworks.rb
|
128
|
+
lib/compass/installers/base.rb
|
129
|
+
lib/compass/installers/manifest.rb
|
130
|
+
lib/compass/installers/rails.rb
|
131
|
+
lib/compass/installers/stand_alone.rb
|
132
|
+
lib/compass/installers.rb
|
133
|
+
lib/compass/logger.rb
|
123
134
|
lib/compass/merb.rb
|
124
135
|
lib/compass/test_case.rb
|
125
136
|
lib/compass/validate/COPYRIGHT.html
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.4.0
|
data/compass.gemspec
CHANGED
@@ -1,16 +1,16 @@
|
|
1
1
|
Gem::Specification.new do |s|
|
2
2
|
s.name = %q{compass}
|
3
|
-
s.version = "0.
|
3
|
+
s.version = "0.4.0"
|
4
4
|
|
5
5
|
s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
|
6
6
|
s.authors = ["Chris Eppstein"]
|
7
|
-
s.date = %q{2009-02-
|
7
|
+
s.date = %q{2009-02-08}
|
8
8
|
s.default_executable = %q{compass}
|
9
9
|
s.description = %q{Sass-Based CSS Meta-Framework. Semantic, Maintainable CSS.}
|
10
10
|
s.email = %q{chris@eppsteins.net}
|
11
11
|
s.executables = ["compass"]
|
12
|
-
s.extra_rdoc_files = ["bin/compass", "lib/compass/
|
13
|
-
s.files = ["bin/compass", "compass.gemspec", "examples/blueprint_default/index.html", "examples/blueprint_default/parts/elements.html", "examples/blueprint_default/parts/forms.html", "examples/blueprint_default/parts/grid.html", "examples/blueprint_default/parts/test-small.jpg", "examples/blueprint_default/parts/test.jpg", "examples/blueprint_default/parts/valid.png", "examples/blueprint_default/stylesheets/ie.sass", "examples/blueprint_default/stylesheets/images/grid.png", "examples/blueprint_default/stylesheets/print.sass", "examples/blueprint_default/stylesheets/screen.sass", "examples/blueprint_plugins/index.html", "examples/blueprint_plugins/parts/fancy_type.html", "examples/blueprint_plugins/parts/test-small.jpg", "examples/blueprint_plugins/parts/test.jpg", "examples/blueprint_plugins/parts/valid.png", "examples/blueprint_plugins/stylesheets/ie.sass", "examples/blueprint_plugins/stylesheets/images/grid.png", "examples/blueprint_plugins/stylesheets/print.sass", "examples/blueprint_plugins/stylesheets/screen.sass", "examples/blueprint_scoped/stylesheets/ie.sass", "examples/blueprint_scoped/stylesheets/print.sass", "examples/blueprint_scoped/stylesheets/screen.sass", "examples/blueprint_scoped_form/stylesheets/ie.sass", "examples/blueprint_scoped_form/stylesheets/print.sass", "examples/blueprint_scoped_form/stylesheets/screen.sass", "examples/blueprint_semantic/index.html", "examples/blueprint_semantic/parts/fancy_type.html", "examples/blueprint_semantic/parts/liquid.html", "examples/blueprint_semantic/parts/test-small.jpg", "examples/blueprint_semantic/parts/test.jpg", "examples/blueprint_semantic/parts/valid.png", "examples/blueprint_semantic/stylesheets/ie.sass", "examples/blueprint_semantic/stylesheets/images/grid.png", "examples/blueprint_semantic/stylesheets/liquid.sass", "examples/blueprint_semantic/stylesheets/print.sass", "examples/blueprint_semantic/stylesheets/screen.sass", "examples/compass/compass.html", "examples/compass/sticky_footer.html.haml", "examples/compass/stylesheets/compass.sass", "examples/compass/stylesheets/images/blue_arrow.gif", "examples/compass/stylesheets/sticky_footer.sass", "examples/compass/stylesheets/utilities.sass", "examples/compass/utilities.html.haml", "examples/yui/divisions.html.haml", "examples/yui/index.html.haml", "examples/yui/stylesheets/screen.sass", "examples/yui/sub_divisions.html.haml", "examples/yui/templates.html.haml", "examples/yui/test.jpg", "examples/yui/typography.html.haml", "frameworks/blueprint/lib/blueprint/constants.rb", "frameworks/blueprint/lib/blueprint/grid_builder.rb", "frameworks/blueprint/stylesheets/_blueprint.sass", "frameworks/blueprint/stylesheets/blueprint/_ie.sass", "frameworks/blueprint/stylesheets/blueprint/_print.sass", "frameworks/blueprint/stylesheets/blueprint/_screen.sass", "frameworks/blueprint/stylesheets/blueprint/modules/_colors.sass", "frameworks/blueprint/stylesheets/blueprint/modules/_debug.sass", "frameworks/blueprint/stylesheets/blueprint/modules/_fancy_type.sass", "frameworks/blueprint/stylesheets/blueprint/modules/_form.sass", "frameworks/blueprint/stylesheets/blueprint/modules/_grid.sass", "frameworks/blueprint/stylesheets/blueprint/modules/_interaction.sass", "frameworks/blueprint/stylesheets/blueprint/modules/_liquid.sass", "frameworks/blueprint/stylesheets/blueprint/modules/_scaffolding.sass", "frameworks/blueprint/stylesheets/blueprint/modules/_typography.sass", "frameworks/blueprint/stylesheets/blueprint/modules/_utilities.sass", "frameworks/blueprint/templates/project/grid.png", "frameworks/blueprint/templates/project/ie.sass", "frameworks/blueprint/templates/project/print.sass", "frameworks/blueprint/templates/project/screen.sass", "frameworks/blueprint.rb", "frameworks/compass/stylesheets/_compass.sass", "frameworks/compass/stylesheets/compass/_layout.sass", "frameworks/compass/stylesheets/compass/_reset.sass", "frameworks/compass/stylesheets/compass/_utilities.sass", "frameworks/compass/stylesheets/compass/layout/_sticky_footer.sass", "frameworks/compass/stylesheets/compass/utilities/_general.sass", "frameworks/compass/stylesheets/compass/utilities/_links.sass", "frameworks/compass/stylesheets/compass/utilities/_lists.sass", "frameworks/compass/stylesheets/compass/utilities/_print.sass", "frameworks/compass/stylesheets/compass/utilities/_tables.sass", "frameworks/compass/stylesheets/compass/utilities/_text.sass", "frameworks/compass/stylesheets/compass/utilities/general/_clearfix.sass", "frameworks/compass/stylesheets/compass/utilities/general/_inline_block.sass", "frameworks/compass/stylesheets/compass/utilities/general/_reset.sass", "frameworks/compass/stylesheets/compass/utilities/general/_tabs.sass", "frameworks/compass/stylesheets/compass/utilities/general/_tag_cloud.sass", "frameworks/compass/stylesheets/compass/utilities/links/_hover_link.sass", "frameworks/compass/stylesheets/compass/utilities/links/_link_colors.sass", "frameworks/compass/stylesheets/compass/utilities/links/_unstyled_link.sass", "frameworks/compass/stylesheets/compass/utilities/lists/_bullets.sass", "frameworks/compass/stylesheets/compass/utilities/lists/_horizontal_list.sass", "frameworks/compass/stylesheets/compass/utilities/lists/_inline_list.sass", "frameworks/compass/stylesheets/compass/utilities/tables/_alternating_rows_and_columns.sass", "frameworks/compass/stylesheets/compass/utilities/text/_nowrap.sass", "frameworks/compass/stylesheets/compass/utilities/text/_replacement.sass", "frameworks/compass/templates/project/
|
12
|
+
s.extra_rdoc_files = ["bin/compass", "lib/compass/actions.rb", "lib/compass/commands/base.rb", "lib/compass/commands/create_project.rb", "lib/compass/commands/list_frameworks.rb", "lib/compass/commands/print_version.rb", "lib/compass/commands/project_base.rb", "lib/compass/commands/update_project.rb", "lib/compass/commands/watch_project.rb", "lib/compass/compiler.rb", "lib/compass/configuration.rb", "lib/compass/core_ext.rb", "lib/compass/errors.rb", "lib/compass/exec.rb", "lib/compass/frameworks.rb", "lib/compass/installers/base.rb", "lib/compass/installers/manifest.rb", "lib/compass/installers/rails.rb", "lib/compass/installers/stand_alone.rb", "lib/compass/installers.rb", "lib/compass/logger.rb", "lib/compass/merb.rb", "lib/compass/test_case.rb", "lib/compass/validate/COPYRIGHT.html", "lib/compass/validate/css-validator-javadoc.jar", "lib/compass/validate/css-validator.jar", "lib/compass/validate/jigsaw.jar", "lib/compass/validate/JIGSAW_COPYRIGHT", "lib/compass/validate/README.html", "lib/compass/validate/xerces.jar", "lib/compass/validate/XERCES_COPYING.txt", "lib/compass/validate.rb", "lib/compass/validator.rb", "lib/compass/version.rb", "lib/compass.rb", "lib/sass_extensions.rb", "README.markdown"]
|
13
|
+
s.files = ["bin/compass", "compass.gemspec", "examples/blueprint_default/index.html", "examples/blueprint_default/parts/elements.html", "examples/blueprint_default/parts/forms.html", "examples/blueprint_default/parts/grid.html", "examples/blueprint_default/parts/test-small.jpg", "examples/blueprint_default/parts/test.jpg", "examples/blueprint_default/parts/valid.png", "examples/blueprint_default/stylesheets/ie.sass", "examples/blueprint_default/stylesheets/images/grid.png", "examples/blueprint_default/stylesheets/print.sass", "examples/blueprint_default/stylesheets/screen.sass", "examples/blueprint_plugins/index.html", "examples/blueprint_plugins/parts/fancy_type.html", "examples/blueprint_plugins/parts/test-small.jpg", "examples/blueprint_plugins/parts/test.jpg", "examples/blueprint_plugins/parts/valid.png", "examples/blueprint_plugins/stylesheets/ie.sass", "examples/blueprint_plugins/stylesheets/images/grid.png", "examples/blueprint_plugins/stylesheets/print.sass", "examples/blueprint_plugins/stylesheets/screen.sass", "examples/blueprint_scoped/stylesheets/ie.sass", "examples/blueprint_scoped/stylesheets/print.sass", "examples/blueprint_scoped/stylesheets/screen.sass", "examples/blueprint_scoped_form/stylesheets/ie.sass", "examples/blueprint_scoped_form/stylesheets/print.sass", "examples/blueprint_scoped_form/stylesheets/screen.sass", "examples/blueprint_semantic/index.html", "examples/blueprint_semantic/parts/fancy_type.html", "examples/blueprint_semantic/parts/liquid.html", "examples/blueprint_semantic/parts/test-small.jpg", "examples/blueprint_semantic/parts/test.jpg", "examples/blueprint_semantic/parts/valid.png", "examples/blueprint_semantic/stylesheets/ie.sass", "examples/blueprint_semantic/stylesheets/images/grid.png", "examples/blueprint_semantic/stylesheets/liquid.sass", "examples/blueprint_semantic/stylesheets/print.sass", "examples/blueprint_semantic/stylesheets/screen.sass", "examples/compass/compass.html", "examples/compass/sticky_footer.html.haml", "examples/compass/stylesheets/compass.sass", "examples/compass/stylesheets/images/blue_arrow.gif", "examples/compass/stylesheets/sticky_footer.sass", "examples/compass/stylesheets/utilities.sass", "examples/compass/utilities.html.haml", "examples/yui/divisions.html.haml", "examples/yui/index.html.haml", "examples/yui/stylesheets/screen.sass", "examples/yui/sub_divisions.html.haml", "examples/yui/templates.html.haml", "examples/yui/test.jpg", "examples/yui/typography.html.haml", "frameworks/blueprint/lib/blueprint/constants.rb", "frameworks/blueprint/lib/blueprint/grid_builder.rb", "frameworks/blueprint/stylesheets/_blueprint.sass", "frameworks/blueprint/stylesheets/blueprint/_ie.sass", "frameworks/blueprint/stylesheets/blueprint/_print.sass", "frameworks/blueprint/stylesheets/blueprint/_screen.sass", "frameworks/blueprint/stylesheets/blueprint/modules/_colors.sass", "frameworks/blueprint/stylesheets/blueprint/modules/_debug.sass", "frameworks/blueprint/stylesheets/blueprint/modules/_fancy_type.sass", "frameworks/blueprint/stylesheets/blueprint/modules/_form.sass", "frameworks/blueprint/stylesheets/blueprint/modules/_grid.sass", "frameworks/blueprint/stylesheets/blueprint/modules/_interaction.sass", "frameworks/blueprint/stylesheets/blueprint/modules/_liquid.sass", "frameworks/blueprint/stylesheets/blueprint/modules/_scaffolding.sass", "frameworks/blueprint/stylesheets/blueprint/modules/_typography.sass", "frameworks/blueprint/stylesheets/blueprint/modules/_utilities.sass", "frameworks/blueprint/templates/project/grid.png", "frameworks/blueprint/templates/project/ie.sass", "frameworks/blueprint/templates/project/manifest.rb", "frameworks/blueprint/templates/project/print.sass", "frameworks/blueprint/templates/project/screen.sass", "frameworks/blueprint.rb", "frameworks/compass/stylesheets/_compass.sass", "frameworks/compass/stylesheets/compass/_layout.sass", "frameworks/compass/stylesheets/compass/_reset.sass", "frameworks/compass/stylesheets/compass/_utilities.sass", "frameworks/compass/stylesheets/compass/layout/_sticky_footer.sass", "frameworks/compass/stylesheets/compass/utilities/_general.sass", "frameworks/compass/stylesheets/compass/utilities/_links.sass", "frameworks/compass/stylesheets/compass/utilities/_lists.sass", "frameworks/compass/stylesheets/compass/utilities/_print.sass", "frameworks/compass/stylesheets/compass/utilities/_tables.sass", "frameworks/compass/stylesheets/compass/utilities/_text.sass", "frameworks/compass/stylesheets/compass/utilities/general/_clearfix.sass", "frameworks/compass/stylesheets/compass/utilities/general/_inline_block.sass", "frameworks/compass/stylesheets/compass/utilities/general/_reset.sass", "frameworks/compass/stylesheets/compass/utilities/general/_tabs.sass", "frameworks/compass/stylesheets/compass/utilities/general/_tag_cloud.sass", "frameworks/compass/stylesheets/compass/utilities/links/_hover_link.sass", "frameworks/compass/stylesheets/compass/utilities/links/_link_colors.sass", "frameworks/compass/stylesheets/compass/utilities/links/_unstyled_link.sass", "frameworks/compass/stylesheets/compass/utilities/lists/_bullets.sass", "frameworks/compass/stylesheets/compass/utilities/lists/_horizontal_list.sass", "frameworks/compass/stylesheets/compass/utilities/lists/_inline_list.sass", "frameworks/compass/stylesheets/compass/utilities/tables/_alternating_rows_and_columns.sass", "frameworks/compass/stylesheets/compass/utilities/text/_nowrap.sass", "frameworks/compass/stylesheets/compass/utilities/text/_replacement.sass", "frameworks/compass/templates/project/ie.sass", "frameworks/compass/templates/project/manifest.rb", "frameworks/compass/templates/project/print.sass", "frameworks/compass/templates/project/screen.sass", "frameworks/compass.rb", "frameworks/yui/COPYRIGHT", "frameworks/yui/stylesheets/_yui.sass", "frameworks/yui/stylesheets/yui/modules/_base.sass", "frameworks/yui/stylesheets/yui/modules/_fonts.sass", "frameworks/yui/stylesheets/yui/modules/_grids.sass", "frameworks/yui/templates/project/manifest.rb", "frameworks/yui/templates/project/screen.sass", "frameworks/yui.rb", "lib/compass/actions.rb", "lib/compass/commands/base.rb", "lib/compass/commands/create_project.rb", "lib/compass/commands/list_frameworks.rb", "lib/compass/commands/print_version.rb", "lib/compass/commands/project_base.rb", "lib/compass/commands/update_project.rb", "lib/compass/commands/watch_project.rb", "lib/compass/compiler.rb", "lib/compass/configuration.rb", "lib/compass/core_ext.rb", "lib/compass/errors.rb", "lib/compass/exec.rb", "lib/compass/frameworks.rb", "lib/compass/installers/base.rb", "lib/compass/installers/manifest.rb", "lib/compass/installers/rails.rb", "lib/compass/installers/stand_alone.rb", "lib/compass/installers.rb", "lib/compass/logger.rb", "lib/compass/merb.rb", "lib/compass/test_case.rb", "lib/compass/validate/COPYRIGHT.html", "lib/compass/validate/css-validator-javadoc.jar", "lib/compass/validate/css-validator.jar", "lib/compass/validate/jigsaw.jar", "lib/compass/validate/JIGSAW_COPYRIGHT", "lib/compass/validate/README.html", "lib/compass/validate/xerces.jar", "lib/compass/validate/XERCES_COPYING.txt", "lib/compass/validate.rb", "lib/compass/validator.rb", "lib/compass/version.rb", "lib/compass.rb", "lib/sass_extensions.rb", "Manifest", "Rakefile", "README.markdown", "test/command_line_test.rb", "test/compass_test.rb", "test/fixtures/stylesheets/blueprint/css/typography.css", "test/fixtures/stylesheets/blueprint/sass/ie.sass", "test/fixtures/stylesheets/blueprint/sass/print.sass", "test/fixtures/stylesheets/blueprint/sass/screen.sass", "test/fixtures/stylesheets/blueprint/sass/typography.sass", "test/fixtures/stylesheets/compass/css/layout.css", "test/fixtures/stylesheets/compass/css/print.css", "test/fixtures/stylesheets/compass/css/reset.css", "test/fixtures/stylesheets/compass/css/utilities.css", "test/fixtures/stylesheets/compass/sass/layout.sass", "test/fixtures/stylesheets/compass/sass/print.sass", "test/fixtures/stylesheets/compass/sass/reset.sass", "test/fixtures/stylesheets/compass/sass/utilities.sass", "test/fixtures/stylesheets/yui/css/mixins.css", "test/fixtures/stylesheets/yui/sass/base.sass", "test/fixtures/stylesheets/yui/sass/fonts.sass", "test/fixtures/stylesheets/yui/sass/grids.sass", "test/fixtures/stylesheets/yui/sass/mixins.sass", "test/sass_extensions_test.rb", "test/test_helper.rb", "VERSION"]
|
14
14
|
s.homepage = %q{http://github.com/chriseppstein/compass}
|
15
15
|
s.rdoc_options = ["--line-numbers", "--inline-source", "--title", "Compass", "--main", "README.markdown"]
|
16
16
|
s.require_paths = ["lib"]
|
@@ -1,3 +1,6 @@
|
|
1
1
|
/*
|
2
|
-
Welcome to Compass.
|
3
|
-
|
2
|
+
Welcome to Compass. Use this file to write IE specific override styles.
|
3
|
+
Import this file using the following HTML or equivalent:
|
4
|
+
<!--[if IE]>
|
5
|
+
<link href="/stylesheets/ie.css" media="screen, projection" rel="stylesheet" type="text/css" />
|
6
|
+
<![endif]-->
|
@@ -1,4 +1,6 @@
|
|
1
1
|
/*
|
2
|
-
Welcome to Compass.
|
3
|
-
|
2
|
+
Welcome to Compass. Use this file to define print styles.
|
3
|
+
Import this file using the following HTML or equivalent:
|
4
|
+
<link href="/stylesheets/print.css" media="print" rel="stylesheet" type="text/css" />
|
5
|
+
|
4
6
|
|
@@ -1,4 +1,7 @@
|
|
1
1
|
/*
|
2
|
-
Welcome to Compass.
|
3
|
-
In this file you should write (or centralize your imports)
|
2
|
+
Welcome to Compass.
|
3
|
+
In this file you should write your main styles. (or centralize your imports)
|
4
|
+
Import this file using the following HTML or equivalent:
|
5
|
+
<link href="/stylesheets/screen.css" media="screen, projection" rel="stylesheet" type="text/css" />
|
6
|
+
|
4
7
|
@import compass/reset.sass
|
@@ -0,0 +1 @@
|
|
1
|
+
stylesheet 'screen.sass', :media => "screen, projection"
|
@@ -0,0 +1,92 @@
|
|
1
|
+
module Compass
|
2
|
+
module Actions
|
3
|
+
|
4
|
+
attr_writer :logger
|
5
|
+
|
6
|
+
def logger
|
7
|
+
@logger ||= Logger.new
|
8
|
+
end
|
9
|
+
|
10
|
+
# copy/process a template in the compass template directory to the project directory.
|
11
|
+
def copy(from, to, options = nil)
|
12
|
+
options ||= self.options if self.respond_to?(:options)
|
13
|
+
contents = File.new(from).read
|
14
|
+
write_file to, contents, options
|
15
|
+
end
|
16
|
+
|
17
|
+
# create a directory and all the directories necessary to reach it.
|
18
|
+
def directory(dir, options = nil)
|
19
|
+
options ||= self.options if self.respond_to?(:options)
|
20
|
+
if File.exists?(dir) && File.directory?(dir)
|
21
|
+
logger.record :exists, basename(dir)
|
22
|
+
elsif File.exists?(dir)
|
23
|
+
msg = "#{basename(dir)} already exists and is not a directory."
|
24
|
+
raise Compass::FilesystemConflict.new(msg)
|
25
|
+
else
|
26
|
+
logger.record :directory, separate("#{basename(dir)}/")
|
27
|
+
FileUtils.mkdir_p(dir) unless options[:dry_run]
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
# Write a file given the file contents as a string
|
32
|
+
def write_file(file_name, contents, options = nil)
|
33
|
+
options ||= self.options if self.respond_to?(:options)
|
34
|
+
skip_write = options[:dry_run]
|
35
|
+
if File.exists?(file_name)
|
36
|
+
existing_contents = File.new(file_name).read
|
37
|
+
if existing_contents == contents
|
38
|
+
logger.record :identical, basename(file_name)
|
39
|
+
skip_write = true
|
40
|
+
elsif options[:force]
|
41
|
+
logger.record :overwrite, basename(file_name)
|
42
|
+
else
|
43
|
+
msg = "File #{basename(file_name)} already exists. Run with --force to force overwrite."
|
44
|
+
raise Compass::FilesystemConflict.new(msg)
|
45
|
+
end
|
46
|
+
else
|
47
|
+
logger.record :create, basename(file_name)
|
48
|
+
end
|
49
|
+
open(file_name,'w') do |file|
|
50
|
+
file.write(contents)
|
51
|
+
end unless skip_write
|
52
|
+
end
|
53
|
+
|
54
|
+
# Compile one Sass file
|
55
|
+
def compile(sass_filename, css_filename, options)
|
56
|
+
logger.record :compile, basename(sass_filename)
|
57
|
+
engine = ::Sass::Engine.new(open(sass_filename).read,
|
58
|
+
:filename => sass_filename,
|
59
|
+
:line_comments => options[:environment] == :development,
|
60
|
+
:style => options[:style],
|
61
|
+
:css_filename => css_filename,
|
62
|
+
:load_paths => options[:load_paths])
|
63
|
+
css_content = engine.render
|
64
|
+
write_file(css_filename, css_content, options.merge(:force => true))
|
65
|
+
end
|
66
|
+
|
67
|
+
def basename(file)
|
68
|
+
relativize(file) {|f| File.basename(file)}
|
69
|
+
end
|
70
|
+
|
71
|
+
def relativize(path)
|
72
|
+
if path.index(working_path+File::SEPARATOR) == 0
|
73
|
+
path[(working_path+File::SEPARATOR).length..-1]
|
74
|
+
elsif block_given?
|
75
|
+
yield path
|
76
|
+
else
|
77
|
+
path
|
78
|
+
end
|
79
|
+
end
|
80
|
+
|
81
|
+
# Write paths like we're on unix and then fix it
|
82
|
+
def separate(path)
|
83
|
+
path.gsub(%r{/}, File::SEPARATOR)
|
84
|
+
end
|
85
|
+
|
86
|
+
# Removes the trailing separator, if any, from a path.
|
87
|
+
def strip_trailing_separator(path)
|
88
|
+
(path[-1..-1] == File::SEPARATOR) ? path[0..-2] : path
|
89
|
+
end
|
90
|
+
|
91
|
+
end
|
92
|
+
end
|
@@ -1,9 +1,13 @@
|
|
1
1
|
module Compass
|
2
2
|
module Commands
|
3
3
|
class Base
|
4
|
-
|
5
|
-
|
6
|
-
|
4
|
+
|
5
|
+
include Actions
|
6
|
+
|
7
|
+
attr_accessor :working_path, :options
|
8
|
+
|
9
|
+
def initialize(working_path, options)
|
10
|
+
self.working_path = working_path
|
7
11
|
self.options = options
|
8
12
|
end
|
9
13
|
|
@@ -13,90 +17,10 @@ module Compass
|
|
13
17
|
|
14
18
|
protected
|
15
19
|
|
16
|
-
def
|
17
|
-
|
18
|
-
path[(working_directory+File::SEPARATOR).length..-1]
|
19
|
-
else
|
20
|
-
path
|
21
|
-
end
|
22
|
-
end
|
23
|
-
|
24
|
-
# create a directory and all the directories necessary to reach it.
|
25
|
-
def directory(dir, options = nil)
|
26
|
-
options ||= self.options
|
27
|
-
if File.exists?(dir) && File.directory?(dir) && options[:force]
|
28
|
-
print_action :exists, basename(dir) + File::SEPARATOR
|
29
|
-
elsif File.exists?(dir) && File.directory?(dir)
|
30
|
-
msg = "Directory #{basename(dir)} already exists. Run with --force to force creation."
|
31
|
-
raise ::Compass::Exec::DirectoryExistsError.new(msg)
|
32
|
-
elsif File.exists?(dir)
|
33
|
-
msg = "#{basename(dir)} already exists and is not a directory."
|
34
|
-
raise ::Compass::Exec::ExecError.new(msg)
|
35
|
-
else
|
36
|
-
print_action :directory, basename(dir) + File::SEPARATOR
|
37
|
-
FileUtils.mkdir_p(dir) unless options[:dry_run]
|
38
|
-
end
|
20
|
+
def framework
|
21
|
+
Compass::Frameworks[options[:framework]]
|
39
22
|
end
|
40
23
|
|
41
|
-
def absolute_path?(path)
|
42
|
-
# This is only going to work on unix, gonna need a better implementation.
|
43
|
-
path.index(File::SEPARATOR) == 0
|
44
|
-
end
|
45
|
-
|
46
|
-
# copy/process a template in the compass template directory to the project directory.
|
47
|
-
def template(from, to, options)
|
48
|
-
from = File.join(templates_directory, separate(from))
|
49
|
-
if File.exists?(to) && !options[:force]
|
50
|
-
#TODO: Detect differences & provide an overwrite prompt
|
51
|
-
msg = "#{basename(to)} already exists."
|
52
|
-
raise ::Compass::Exec::ExecError.new(msg)
|
53
|
-
elsif File.exists?(to)
|
54
|
-
print_action :remove, basename(to)
|
55
|
-
FileUtils.rm to unless options[:dry_run]
|
56
|
-
end
|
57
|
-
print_action :create, basename(to)
|
58
|
-
FileUtils.cp from, to unless options[:dry_run]
|
59
|
-
end
|
60
|
-
|
61
|
-
def write_file(file_name, contents)
|
62
|
-
if File.exists?(file_name) && !options[:force]
|
63
|
-
msg = "File #{basename(file_name)} already exists. Run with --force to force creation."
|
64
|
-
raise ::Compass::Exec::ExecError.new(msg)
|
65
|
-
end
|
66
|
-
if File.exists?(file_name)
|
67
|
-
print_action :overwrite, basename(file_name)
|
68
|
-
else
|
69
|
-
print_action :create, basename(file_name)
|
70
|
-
end
|
71
|
-
output = open(file_name,'w')
|
72
|
-
output.write(contents)
|
73
|
-
output.close
|
74
|
-
end
|
75
|
-
|
76
|
-
# returns the path to the templates directory and caches it
|
77
|
-
def templates_directory
|
78
|
-
@templates_directory ||= Compass::Frameworks[options[:framework]].templates_directory
|
79
|
-
end
|
80
|
-
|
81
|
-
# Write paths like we're on unix and then fix it
|
82
|
-
def separate(path)
|
83
|
-
path.gsub(%r{/}, File::SEPARATOR)
|
84
|
-
end
|
85
|
-
|
86
|
-
def basename(file)
|
87
|
-
if file.length > working_directory.length
|
88
|
-
relativize(file)
|
89
|
-
else
|
90
|
-
File.basename(file)
|
91
|
-
end
|
92
|
-
end
|
93
|
-
|
94
|
-
ACTIONS = [:directory, :exists, :remove, :create, :overwrite]
|
95
|
-
MAX_ACTION_LENGTH = ACTIONS.inject(0){|memo, a| [memo, a.to_s.length].max}
|
96
|
-
def print_action(action, extra)
|
97
|
-
puts "#{' ' * (MAX_ACTION_LENGTH - action.to_s.length)}#{action} #{extra}" if !options[:quiet] || options[:dry_run]
|
98
|
-
end
|
99
|
-
|
100
24
|
end
|
101
25
|
end
|
102
26
|
end
|
@@ -1,42 +1,39 @@
|
|
1
1
|
require 'fileutils'
|
2
2
|
require File.join(File.dirname(__FILE__), 'base')
|
3
3
|
require File.join(File.dirname(__FILE__), 'update_project')
|
4
|
+
require File.join(Compass.lib_directory, 'compass', 'installers')
|
4
5
|
|
5
6
|
module Compass
|
6
7
|
module Commands
|
7
8
|
class CreateProject < ProjectBase
|
8
|
-
|
9
|
-
|
10
|
-
|
9
|
+
|
10
|
+
include Compass::Installers
|
11
|
+
|
12
|
+
attr_accessor :installer
|
13
|
+
|
14
|
+
def initialize(working_path, options)
|
15
|
+
super(working_path, options)
|
16
|
+
installer_args = [project_template_directory, project_directory, self.options]
|
17
|
+
@installer = case options[:project_type]
|
18
|
+
when :stand_alone
|
19
|
+
StandAloneInstaller.new *installer_args
|
20
|
+
when :rails
|
21
|
+
RailsInstaller.new *installer_args
|
22
|
+
else
|
23
|
+
raise "Unknown project type: #{project_type}"
|
24
|
+
end
|
11
25
|
end
|
12
26
|
|
13
27
|
# all commands must implement perform
|
14
28
|
def perform
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
raise ::Compass::Exec::DirectoryExistsError.new(msg)
|
20
|
-
end
|
21
|
-
src_dir = options[:src_dir] || "src"
|
22
|
-
css_dir = options[:css_dir] || "stylesheets"
|
23
|
-
directory src_dir, options.merge(:force => true)
|
24
|
-
directory css_dir, options.merge(:force => true)
|
25
|
-
framework_templates.each do |t|
|
26
|
-
template "project/#{t}", "#{src_dir}/#{t}", options
|
27
|
-
end
|
28
|
-
UpdateProject.new(working_directory, options).perform
|
29
|
-
end
|
30
|
-
|
31
|
-
def framework_templates
|
32
|
-
framework_project_dir = File.join(templates_directory, "project")
|
33
|
-
Dir.chdir(framework_project_dir) do
|
34
|
-
Dir.glob("*")
|
35
|
-
end
|
29
|
+
installer.init
|
30
|
+
installer.run(:skip_finalization => true)
|
31
|
+
UpdateProject.new(working_path, options).perform if installer.compilation_required?
|
32
|
+
installer.finalize(:create => true)
|
36
33
|
end
|
37
34
|
|
38
|
-
def
|
39
|
-
|
35
|
+
def project_template_directory
|
36
|
+
File.join(framework.templates_directory, "project")
|
40
37
|
end
|
41
38
|
|
42
39
|
end
|
@@ -7,83 +7,68 @@ require File.join(File.dirname(__FILE__), 'base')
|
|
7
7
|
module Compass
|
8
8
|
module Commands
|
9
9
|
class ProjectBase < Base
|
10
|
-
attr_accessor :project_directory, :project_name, :options
|
10
|
+
attr_accessor :project_directory, :project_name, :options
|
11
11
|
|
12
|
-
def initialize(
|
13
|
-
super(
|
14
|
-
self.project_name = determine_project_name(
|
15
|
-
|
16
|
-
assert_project_directory_exists!
|
12
|
+
def initialize(working_path, options = {})
|
13
|
+
super(working_path, options)
|
14
|
+
self.project_name = determine_project_name(working_path, options)
|
15
|
+
Compass.configuration.project_path = determine_project_directory(working_path, options)
|
17
16
|
end
|
18
|
-
|
17
|
+
|
19
18
|
protected
|
20
19
|
|
21
|
-
def
|
22
|
-
|
23
|
-
subdir = projectize(subdir) unless absolute_path?(subdir)
|
24
|
-
super(subdir, options)
|
20
|
+
def projectize(path)
|
21
|
+
File.join(project_directory, separate(path))
|
25
22
|
end
|
26
23
|
|
27
|
-
def
|
28
|
-
|
29
|
-
super(from, to, options)
|
24
|
+
def project_directory
|
25
|
+
Compass.configuration.project_path
|
30
26
|
end
|
31
27
|
|
32
|
-
def
|
33
|
-
|
34
|
-
super(path, contents)
|
28
|
+
def project_css_subdirectory
|
29
|
+
Compass.configuration.css_dir
|
35
30
|
end
|
36
31
|
|
37
|
-
def
|
38
|
-
|
32
|
+
def project_src_subdirectory
|
33
|
+
Compass.configuration.sass_dir
|
39
34
|
end
|
40
|
-
|
35
|
+
|
41
36
|
# Read the configuration file for this project
|
42
37
|
def read_project_configuration
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
38
|
+
if File.exists?(projectize('config.rb'))
|
39
|
+
Compass.configuration.parse(projectize('config.rb'))
|
40
|
+
elsif File.exists?(projectize('src/config.rb'))
|
41
|
+
Compass.configuration.parse(projectize('src/config.rb'))
|
47
42
|
end
|
48
43
|
end
|
49
44
|
|
50
45
|
private
|
51
|
-
|
52
|
-
def determine_project_name(
|
46
|
+
|
47
|
+
def determine_project_name(working_path, options)
|
53
48
|
if options[:project_name]
|
54
49
|
File.basename(strip_trailing_separator(options[:project_name]))
|
55
50
|
else
|
56
|
-
File.basename(
|
51
|
+
File.basename(working_path)
|
57
52
|
end
|
58
53
|
end
|
59
54
|
|
60
|
-
def determine_project_directory(
|
55
|
+
def determine_project_directory(working_path, options)
|
61
56
|
if options[:project_name]
|
62
57
|
if absolute_path?(options[:project_name])
|
63
58
|
options[:project_name]
|
64
59
|
else
|
65
|
-
File.join(
|
60
|
+
File.join(working_path, options[:project_name])
|
66
61
|
end
|
67
62
|
else
|
68
|
-
|
63
|
+
working_path
|
69
64
|
end
|
70
65
|
end
|
71
66
|
|
72
|
-
def
|
73
|
-
|
74
|
-
|
75
|
-
elsif !File.directory?(project_directory) && !skip_project_directory_assertion?
|
76
|
-
raise ::Compass::Exec::ExecError.new("#{project_directory} does not exist.")
|
77
|
-
end
|
67
|
+
def absolute_path?(path)
|
68
|
+
# This is only going to work on unix, gonna need a better implementation.
|
69
|
+
path.index(File::SEPARATOR) == 0
|
78
70
|
end
|
79
71
|
|
80
|
-
def skip_project_directory_assertion?
|
81
|
-
options[:force] || options[:dry_run]
|
82
|
-
end
|
83
|
-
|
84
|
-
def strip_trailing_separator(path)
|
85
|
-
(path[-1..-1] == File::SEPARATOR) ? path[0..-2] : path
|
86
|
-
end
|
87
72
|
end
|
88
73
|
end
|
89
74
|
end
|