compass 0.10.1 → 0.10.2
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/VERSION.yml +1 -1
- data/features/command_line.feature +35 -11
- data/features/extensions.feature +4 -2
- data/features/step_definitions/command_line_steps.rb +3 -0
- data/features/step_definitions/extension_steps.rb +10 -1
- data/frameworks/blueprint/stylesheets/blueprint/_utilities.scss +1 -1
- data/frameworks/blueprint/templates/basic/manifest.rb +1 -1
- data/frameworks/blueprint/templates/basic/screen.sass +1 -0
- data/frameworks/blueprint/templates/project/ie.sass +1 -1
- data/frameworks/blueprint/templates/project/print.sass +1 -1
- data/frameworks/blueprint/templates/project/screen.sass +6 -3
- data/frameworks/blueprint/templates/semantic/manifest.rb +1 -1
- data/frameworks/blueprint/templates/semantic/print.sass +0 -3
- data/frameworks/compass/stylesheets/compass/css3/_gradient.scss +9 -6
- data/frameworks/compass/stylesheets/compass/css3/_transition.scss +3 -1
- data/lib/compass/app_integration/rails.rb +8 -0
- data/lib/compass/app_integration/rails/installer.rb +1 -1
- data/lib/compass/commands/help.rb +1 -11
- data/lib/compass/commands/installer_command.rb +1 -5
- data/lib/compass/commands/list_frameworks.rb +19 -2
- data/lib/compass/commands/project_base.rb +4 -2
- data/lib/compass/commands/update_project.rb +7 -3
- data/lib/compass/configuration/helpers.rb +2 -2
- data/lib/compass/frameworks.rb +21 -0
- data/lib/compass/sass_extensions/functions/image_size.rb +2 -2
- data/lib/compass/stats.rb +3 -1
- data/test/command_line_test.rb +0 -5
- data/test/compass_test.rb +21 -8
- data/test/fixtures/stylesheets/blueprint/css/ie.css +60 -0
- data/test/fixtures/stylesheets/blueprint/css/print.css +56 -0
- data/test/fixtures/stylesheets/blueprint/css/screen.css +804 -0
- data/test/fixtures/stylesheets/blueprint/css/single-imports/utilities.css +37 -0
- data/test/fixtures/stylesheets/blueprint/sass/single-imports/utilities.sass +3 -0
- data/test/fixtures/stylesheets/compass/css/print.css +1 -2
- data/test/fixtures/stylesheets/compass/sass/utilities.scss +9 -0
- data/test/fixtures/stylesheets/image_urls/css/screen.css +0 -2
- data/test/fixtures/stylesheets/image_urls/sass/screen.sass +2 -2
- data/test/fixtures/stylesheets/relative/css/ie.css +1 -1
- data/test/rails_integration_test.rb +2 -2
- metadata +15 -5
- data/test/fixtures/stylesheets/compass/sass/utilities.sass +0 -7
data/VERSION.yml
CHANGED
@@ -91,7 +91,7 @@ Feature: Command Line
|
|
91
91
|
And a sass file sass/layout.sass is reported compiled
|
92
92
|
And a sass file sass/print.sass is reported compiled
|
93
93
|
And a sass file sass/reset.sass is reported compiled
|
94
|
-
And a sass file sass/utilities.
|
94
|
+
And a sass file sass/utilities.scss is reported compiled
|
95
95
|
And a css file tmp/layout.css is created
|
96
96
|
And a css file tmp/print.css is created
|
97
97
|
And a css file tmp/reset.css is created
|
@@ -105,12 +105,29 @@ Feature: Command Line
|
|
105
105
|
And a sass file tmp_compass/sass/layout.sass is reported compiled
|
106
106
|
And a sass file tmp_compass/sass/print.sass is reported compiled
|
107
107
|
And a sass file tmp_compass/sass/reset.sass is reported compiled
|
108
|
-
And a sass file tmp_compass/sass/utilities.
|
108
|
+
And a sass file tmp_compass/sass/utilities.scss is reported compiled
|
109
109
|
And a css file tmp_compass/tmp/layout.css is created
|
110
110
|
And a css file tmp_compass/tmp/print.css is created
|
111
111
|
And a css file tmp_compass/tmp/reset.css is created
|
112
112
|
And a css file tmp_compass/tmp/utilities.css is created
|
113
113
|
|
114
|
+
Scenario: Dry Run of Compiling an existing project.
|
115
|
+
Given I am using the existing project in test/fixtures/stylesheets/compass
|
116
|
+
When I run: compass compile --dry-run
|
117
|
+
Then a directory tmp/ is not created
|
118
|
+
And a sass file sass/layout.sass is reported compiled
|
119
|
+
And a sass file sass/print.sass is reported compiled
|
120
|
+
And a sass file sass/reset.sass is reported compiled
|
121
|
+
And a sass file sass/utilities.scss is reported compiled
|
122
|
+
And a css file tmp/layout.css is not created
|
123
|
+
And a css file tmp/print.css is not created
|
124
|
+
And a css file tmp/reset.css is not created
|
125
|
+
And a css file tmp/utilities.css is not created
|
126
|
+
And a css file tmp/layout.css is reported created
|
127
|
+
And a css file tmp/print.css is reported created
|
128
|
+
And a css file tmp/reset.css is reported created
|
129
|
+
And a css file tmp/utilities.css is reported created
|
130
|
+
|
114
131
|
Scenario: Recompiling a project with no changes
|
115
132
|
Given I am using the existing project in test/fixtures/stylesheets/compass
|
116
133
|
When I run: compass compile
|
@@ -118,26 +135,26 @@ Feature: Command Line
|
|
118
135
|
Then a sass file sass/layout.sass is reported unchanged
|
119
136
|
And a sass file sass/print.sass is reported unchanged
|
120
137
|
And a sass file sass/reset.sass is reported unchanged
|
121
|
-
And a sass file sass/utilities.
|
138
|
+
And a sass file sass/utilities.scss is reported unchanged
|
122
139
|
|
123
140
|
Scenario: compiling a specific file in a project
|
124
141
|
Given I am using the existing project in test/fixtures/stylesheets/compass
|
125
|
-
And I run: compass compile sass/utilities.
|
142
|
+
And I run: compass compile sass/utilities.scss
|
126
143
|
Then a sass file sass/layout.sass is not mentioned
|
127
144
|
And a sass file sass/print.sass is not mentioned
|
128
145
|
And a sass file sass/reset.sass is not mentioned
|
129
|
-
And a sass file sass/utilities.
|
146
|
+
And a sass file sass/utilities.scss is reported compiled
|
130
147
|
And a css file tmp/utilities.css is reported created
|
131
148
|
And a css file tmp/utilities.css is created
|
132
149
|
|
133
150
|
Scenario: Re-compiling a specific file in a project with no changes
|
134
151
|
Given I am using the existing project in test/fixtures/stylesheets/compass
|
135
152
|
When I run: compass compile
|
136
|
-
And I run: compass compile sass/utilities.
|
153
|
+
And I run: compass compile sass/utilities.scss
|
137
154
|
Then a sass file sass/layout.sass is not mentioned
|
138
155
|
And a sass file sass/print.sass is not mentioned
|
139
156
|
And a sass file sass/reset.sass is not mentioned
|
140
|
-
And a sass file sass/utilities.
|
157
|
+
And a sass file sass/utilities.scss is reported compiled
|
141
158
|
And a css file tmp/utilities.css is reported identical
|
142
159
|
|
143
160
|
Scenario: Installing a pattern into a project
|
@@ -178,7 +195,7 @@ Feature: Command Line
|
|
178
195
|
Then a css file tmp/layout.css is reported identical
|
179
196
|
And a sass file sass/print.sass is reported unchanged
|
180
197
|
And a sass file sass/reset.sass is reported unchanged
|
181
|
-
And a sass file sass/utilities.
|
198
|
+
And a sass file sass/utilities.scss is reported unchanged
|
182
199
|
|
183
200
|
Scenario: Recompiling a project with changes
|
184
201
|
Given I am using the existing project in test/fixtures/stylesheets/compass
|
@@ -190,7 +207,7 @@ Feature: Command Line
|
|
190
207
|
And a css file tmp/layout.css is reported overwritten
|
191
208
|
And a sass file sass/print.sass is reported unchanged
|
192
209
|
And a sass file sass/reset.sass is reported unchanged
|
193
|
-
And a sass file sass/utilities.
|
210
|
+
And a sass file sass/utilities.scss is reported unchanged
|
194
211
|
|
195
212
|
Scenario: Watching a project for changes
|
196
213
|
Given I am using the existing project in test/fixtures/stylesheets/compass
|
@@ -236,7 +253,7 @@ Feature: Command Line
|
|
236
253
|
Then my css is validated
|
237
254
|
And I am informed that my css is valid.
|
238
255
|
|
239
|
-
@
|
256
|
+
@stats
|
240
257
|
Scenario: Get stats for my project
|
241
258
|
Given I am using the existing project in test/fixtures/stylesheets/compass
|
242
259
|
When I run: compass stats
|
@@ -248,6 +265,13 @@ Feature: Command Line
|
|
248
265
|
| sass/layout.sass | 0 | 0 | 0 | 1 | 5 | 10 |
|
249
266
|
| sass/print.sass | 0 | 0 | 0 | 2 | 61 | 61 |
|
250
267
|
| sass/reset.sass | 4 | 1 | 0 | 2 | 190 | 664 |
|
251
|
-
| sass/utilities.
|
268
|
+
| sass/utilities.scss | 2 | 0 | 0 | 2 | 5 | 11 |
|
252
269
|
| Total.* | 44 | 9 | 0 | 45 | 299 | 832 |
|
253
270
|
|
271
|
+
@listframeworks
|
272
|
+
Scenario: List frameworks registered with compass
|
273
|
+
When I run: compass frameworks
|
274
|
+
Then I should see the following lines of output:
|
275
|
+
| blueprint |
|
276
|
+
| compass |
|
277
|
+
|
data/features/extensions.feature
CHANGED
@@ -4,17 +4,19 @@ Feature: Extensions
|
|
4
4
|
I can install extensions that others have created
|
5
5
|
And I can create and publish my own extensions
|
6
6
|
|
7
|
+
@listframeworks
|
7
8
|
Scenario: Extensions directory for stand_alone projects
|
8
9
|
Given I am using the existing project in test/fixtures/stylesheets/compass
|
9
10
|
And the "extensions" directory exists
|
10
11
|
And and I have a fake extension at extensions/testing
|
11
|
-
When I run: compass
|
12
|
+
When I run: compass frameworks
|
12
13
|
Then the list of frameworks includes "testing"
|
13
14
|
|
15
|
+
@listframeworks
|
14
16
|
Scenario: Extensions directory for rails projects
|
15
17
|
Given I'm in a newly created rails project: my_rails_project
|
16
18
|
And the "my_rails_project/vendor/plugins/compass/extensions" directory exists
|
17
19
|
And and I have a fake extension at my_rails_project/vendor/plugins/compass/extensions/testing
|
18
|
-
When I run: compass
|
20
|
+
When I run: compass frameworks
|
19
21
|
Then the list of frameworks includes "testing"
|
20
22
|
|
@@ -232,3 +232,6 @@ Then /^the image ([^ ]+) has a size of (\d+)x(\d+)$/ do |file, width, height|
|
|
232
232
|
IO.read(file)[0x10..0x18].unpack('NN').should == [width.to_i, height.to_i]
|
233
233
|
end
|
234
234
|
|
235
|
+
Then /^I should see the following lines of output:$/ do |table|
|
236
|
+
table.diff!([['blueprint'],['compass']])
|
237
|
+
end
|
@@ -5,9 +5,18 @@ end
|
|
5
5
|
Given /^and I have a fake extension at (.*)$/ do |directory|
|
6
6
|
FileUtils.mkdir_p File.join(directory, 'stylesheets')
|
7
7
|
FileUtils.mkdir_p File.join(directory, 'templates/project')
|
8
|
+
open(File.join(directory, 'templates/project/manifest.rb'),"w") do |f|
|
9
|
+
f.puts %Q{
|
10
|
+
description "This is a fake extension"
|
11
|
+
|
12
|
+
help "this is the fake help"
|
13
|
+
|
14
|
+
welcome_message "this is a fake welcome"
|
15
|
+
}
|
16
|
+
end
|
8
17
|
end
|
9
18
|
|
10
19
|
Then /^the list of frameworks includes "([^\"]*)"$/ do |framework|
|
11
|
-
@last_result.split("\n").map{|f| f.
|
20
|
+
@last_result.split("\n").map{|f| f.gsub(/(^\s+[*-]\s+)|(\s+$)/,'')}.should include(framework)
|
12
21
|
end
|
13
22
|
|
@@ -7,10 +7,13 @@
|
|
7
7
|
// Import the non-default scaffolding module.
|
8
8
|
@import blueprint/scaffolding
|
9
9
|
|
10
|
-
// To generate css equivalent to the blueprint css but with your
|
11
|
-
//
|
10
|
+
// To generate css equivalent to the blueprint css but with your
|
11
|
+
// configuration applied, uncomment:
|
12
|
+
// @include blueprint
|
12
13
|
|
13
|
-
//
|
14
|
+
// But Compass recommends that you scope your blueprint styles
|
15
|
+
// So that you can better control what pages use blueprint
|
16
|
+
// when stylesheets are concatenated together.
|
14
17
|
+blueprint-scaffolding("body.bp")
|
15
18
|
body.bp
|
16
19
|
+blueprint-typography(true)
|
@@ -6,11 +6,11 @@
|
|
6
6
|
//
|
7
7
|
// This yields a linear gradient spanning from bottom to top
|
8
8
|
//
|
9
|
-
// +linear-gradient(color-stops(white, black),
|
9
|
+
// +linear-gradient(color-stops(white, black), bottom)
|
10
10
|
//
|
11
11
|
// This yields a linear gradient spanning from left to right
|
12
12
|
//
|
13
|
-
// +linear-gradient(color-stops(white, black),
|
13
|
+
// +linear-gradient(color-stops(white, black), left)
|
14
14
|
//
|
15
15
|
// This yields a linear gradient starting at white passing
|
16
16
|
// thru blue at 33% down and then to black
|
@@ -24,7 +24,7 @@
|
|
24
24
|
//
|
25
25
|
// This yields a linear gradient on top of a background image
|
26
26
|
//
|
27
|
-
// +linear-gradient(color_stops(white,black),
|
27
|
+
// +linear-gradient(color_stops(white,black), top, image-url('noise.png'))
|
28
28
|
// Browsers Supported:
|
29
29
|
//
|
30
30
|
// - Chrome
|
@@ -36,6 +36,7 @@
|
|
36
36
|
// Webkit's gradient api sucks -- hence these backflips:
|
37
37
|
$background: unquote("");
|
38
38
|
@if $image { $background : $image + unquote(", "); }
|
39
|
+
$start: unquote($start);
|
39
40
|
$end: grad-opposite-position($start);
|
40
41
|
@if $experimental-support-for-webkit {
|
41
42
|
background-image: #{$background}-webkit-gradient(linear, grad-point($start), grad-point($end), grad-color-stops($color-stops));
|
@@ -53,11 +54,12 @@
|
|
53
54
|
// // Defaults to a centered, 100px radius gradient
|
54
55
|
// +radial-gradient(color-stops(#c00, #00c))
|
55
56
|
// // 100px radius gradient in the top left corner
|
56
|
-
// +radial-gradient(color-stops(#c00, #00c),
|
57
|
+
// +radial-gradient(color-stops(#c00, #00c), top left)
|
57
58
|
// // Three colors, ending at 50px and passing thru #fff at 25px
|
58
59
|
// +radial-gradient(color-stops(#c00, #fff, #00c 50px))
|
59
|
-
// //
|
60
|
-
//
|
60
|
+
// // a background image on top of the gradient
|
61
|
+
// // Requires an image with an alpha-layer.
|
62
|
+
// +radial-gradient(color_stops(#c00, #fff), top left, image-url("noise.png")))
|
61
63
|
// Browsers Supported:
|
62
64
|
//
|
63
65
|
// - Chrome
|
@@ -65,6 +67,7 @@
|
|
65
67
|
// - Firefox 3.6
|
66
68
|
|
67
69
|
@mixin radial-gradient($color-stops, $center-position: center center, $image: false) {
|
70
|
+
$center-position: unquote($center-position);
|
68
71
|
$end-pos: grad-end-position($color-stops, true);
|
69
72
|
$background: unquote("");
|
70
73
|
@if $image { $background: $image + unquote(", "); }
|
@@ -40,6 +40,7 @@ $default-transition-delay: false !default;
|
|
40
40
|
// * these durations will affect the properties in the same list position
|
41
41
|
|
42
42
|
@mixin transition-duration($duration: $default-transition-duration) {
|
43
|
+
@if type-of($duration) == string { $duration: unquote($duration); }
|
43
44
|
@include experimental(transition-duration, $duration,
|
44
45
|
-moz, -webkit, -o, not -ms, not -khtml, official
|
45
46
|
);
|
@@ -52,7 +53,7 @@ $default-transition-delay: false !default;
|
|
52
53
|
// * These functions will effect the properties in the same list position
|
53
54
|
|
54
55
|
@mixin transition-timing-function($function: $default-transition-function) {
|
55
|
-
@include experimental(transition-timing-function, $function,
|
56
|
+
@include experimental(transition-timing-function, unquote($function),
|
56
57
|
-moz, -webkit, -o, not -ms, not -khtml, official
|
57
58
|
);
|
58
59
|
}
|
@@ -63,6 +64,7 @@ $default-transition-delay: false !default;
|
|
63
64
|
// * these delays will effect the properties in the same list position
|
64
65
|
|
65
66
|
@mixin transition-delay($delay: $default-transition-delay) {
|
67
|
+
@if type-of($delay) == string { $delay: unquote($delay); }
|
66
68
|
@include experimental(transition-delay, $delay,
|
67
69
|
-moz, -webkit, -o, not -ms, not -khtml, official
|
68
70
|
);
|
@@ -94,7 +94,7 @@ NEXTSTEPS
|
|
94
94
|
"# This configuration file works with both the Compass command line tool and within Rails.\n" +
|
95
95
|
Compass.configuration.serialize do |prop, value|
|
96
96
|
if prop == :project_path
|
97
|
-
"project_path =
|
97
|
+
"project_path = Compass::AppIntegration::Rails.root\n"
|
98
98
|
elsif prop == :environment
|
99
99
|
"environment = Compass::AppIntegration::Rails.env\n"
|
100
100
|
elsif prop == :output_style
|
@@ -23,17 +23,7 @@ To get help on a particular command please specify the command.
|
|
23
23
|
banner << command_list("Other Commands:", other_commands)
|
24
24
|
|
25
25
|
banner << "\nAvailable Frameworks & Patterns:\n\n"
|
26
|
-
Compass::Frameworks
|
27
|
-
next if framework.name =~ /^_/
|
28
|
-
banner << " * #{framework.name}\n"
|
29
|
-
framework.template_directories.each do |pattern|
|
30
|
-
banner << " - #{framework.name}/#{pattern}"
|
31
|
-
if description = framework.manifest(pattern).description
|
32
|
-
banner << "\t- #{description}"
|
33
|
-
end
|
34
|
-
banner << "\n"
|
35
|
-
end
|
36
|
-
end
|
26
|
+
banner << Compass::Frameworks.pretty_print
|
37
27
|
banner << "\nGlobal Options:\n"
|
38
28
|
opts.banner = banner
|
39
29
|
|
@@ -6,11 +6,7 @@ module Compass
|
|
6
6
|
include Compass::Installers
|
7
7
|
|
8
8
|
def configure!
|
9
|
-
|
10
|
-
Compass.add_configuration(options.delete(:project_type) || :stand_alone)
|
11
|
-
else
|
12
|
-
Compass.add_project_configuration(:project_type => options.delete(:project_type))
|
13
|
-
end
|
9
|
+
add_project_configuration
|
14
10
|
Compass.add_configuration(options, 'command_line')
|
15
11
|
Compass.discover_extensions!
|
16
12
|
Compass.add_configuration(installer.completed_configuration, 'installer')
|
@@ -8,14 +8,31 @@ module Compass
|
|
8
8
|
end
|
9
9
|
|
10
10
|
def execute
|
11
|
-
|
12
|
-
|
11
|
+
if options[:quiet]
|
12
|
+
Compass::Frameworks::ALL.each do |framework|
|
13
|
+
puts framework.name unless framework.name =~ /^_/
|
14
|
+
end
|
15
|
+
else
|
16
|
+
puts "Available Frameworks & Patterns:\n\n"
|
17
|
+
puts Compass::Frameworks.pretty_print
|
13
18
|
end
|
14
19
|
end
|
15
20
|
class << self
|
21
|
+
def option_parser(arguments)
|
22
|
+
parser = Compass::Exec::CommandOptionParser.new(arguments)
|
23
|
+
parser.extend(Compass::Exec::GlobalOptionsParser)
|
24
|
+
end
|
25
|
+
def usage
|
26
|
+
option_parser([]).to_s
|
27
|
+
end
|
16
28
|
def description(command)
|
17
29
|
"List the available frameworks"
|
18
30
|
end
|
31
|
+
def parse!(arguments)
|
32
|
+
parser = option_parser(arguments)
|
33
|
+
parser.parse!
|
34
|
+
parser.options
|
35
|
+
end
|
19
36
|
end
|
20
37
|
end
|
21
38
|
end
|
@@ -23,12 +23,14 @@ module Compass
|
|
23
23
|
|
24
24
|
def configure!
|
25
25
|
add_project_configuration
|
26
|
-
Compass.add_configuration(options, "
|
26
|
+
Compass.add_configuration(options, "command_line")
|
27
27
|
Compass.discover_extensions!
|
28
28
|
end
|
29
29
|
|
30
30
|
def add_project_configuration
|
31
|
-
Compass.add_project_configuration(options[:configuration_file])
|
31
|
+
Compass.add_project_configuration(options[:configuration_file]) do
|
32
|
+
options[:project_type]
|
33
|
+
end
|
32
34
|
end
|
33
35
|
|
34
36
|
def projectize(path)
|
@@ -46,12 +46,16 @@ module Compass
|
|
46
46
|
end
|
47
47
|
|
48
48
|
def new_compiler_instance(additional_options = {})
|
49
|
+
compiler_opts = Compass.sass_engine_options
|
50
|
+
compiler_opts.merge!(:quiet => options[:quiet],
|
51
|
+
:force => options[:force],
|
52
|
+
:sass_files => explicit_sass_files,
|
53
|
+
:dry_run => options[:dry_run])
|
54
|
+
compiler_opts.merge!(additional_options)
|
49
55
|
Compass::Compiler.new(working_path,
|
50
56
|
projectize(Compass.configuration.sass_dir),
|
51
57
|
projectize(Compass.configuration.css_dir),
|
52
|
-
|
53
|
-
:force => options[:force],
|
54
|
-
:sass_files => explicit_sass_files).merge(additional_options))
|
58
|
+
compiler_opts)
|
55
59
|
end
|
56
60
|
|
57
61
|
def explicit_sass_files
|