compass 0.12.0 → 0.12.1
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/Rakefile
CHANGED
@@ -1,7 +1,16 @@
|
|
1
1
|
require 'rubygems'
|
2
|
-
|
3
|
-
|
4
|
-
|
2
|
+
if ENV["PKG"]
|
3
|
+
$: << File.expand_path(File.dirname(__FILE__))+"/lib"
|
4
|
+
else
|
5
|
+
require 'bundler'
|
6
|
+
Bundler.setup
|
7
|
+
end
|
8
|
+
|
9
|
+
begin
|
10
|
+
require 'rake/dsl_definition'
|
11
|
+
rescue LoadError
|
12
|
+
#pass
|
13
|
+
end
|
5
14
|
require 'compass'
|
6
15
|
|
7
16
|
# ----- Default: Testing ------
|
@@ -10,12 +19,17 @@ task :default => [:test, :features]
|
|
10
19
|
|
11
20
|
require 'rake/testtask'
|
12
21
|
require 'fileutils'
|
22
|
+
|
23
|
+
begin
|
13
24
|
require 'cucumber'
|
14
25
|
require 'cucumber/rake/task'
|
15
26
|
|
16
27
|
Cucumber::Rake::Task.new(:features) do |t|
|
17
28
|
t.cucumber_opts = "features --format progress"
|
18
29
|
end
|
30
|
+
rescue LoadError
|
31
|
+
$stderr.puts "cannot load cucumber"
|
32
|
+
end
|
19
33
|
|
20
34
|
Rake::TestTask.new :test do |t|
|
21
35
|
t.libs << 'lib'
|
@@ -124,3 +138,20 @@ rescue LoadError => e
|
|
124
138
|
puts "WARNING: #{e}"
|
125
139
|
end
|
126
140
|
|
141
|
+
begin
|
142
|
+
require 'packager/rake_task'
|
143
|
+
require 'compass/version'
|
144
|
+
# Building a package:
|
145
|
+
# 1. Get packager installed and make sure your system is setup correctly according to their docs.
|
146
|
+
# 2. Make sure you are actually using a universal binary that has been nametooled.
|
147
|
+
# 3. PKG=1 OFFICIAL=1 rake packager:pkg
|
148
|
+
Packager::RakeTask.new(:pkg) do |t|
|
149
|
+
t.package_name = "Compass"
|
150
|
+
t.version = Compass::VERSION
|
151
|
+
t.domain = "compass-style.org"
|
152
|
+
t.bin_files = ["compass"]
|
153
|
+
t.resource_files = FileList["frameworks/**/*"] + ["VERSION.yml", "LICENSE.markdown"]
|
154
|
+
end
|
155
|
+
rescue LoadError => e
|
156
|
+
puts "WARNING: #{e}"
|
157
|
+
end
|
data/VERSION.yml
CHANGED
@@ -1,18 +1,18 @@
|
|
1
1
|
@import "compass/layout/grid-background";
|
2
2
|
|
3
|
-
// The base font size
|
3
|
+
// The base font size.
|
4
4
|
$base-font-size: 16px !default;
|
5
5
|
|
6
|
-
// The base line height
|
6
|
+
// The base line height determines the basic unit of vertical rhythm.
|
7
7
|
$base-line-height: 24px !default;
|
8
8
|
|
9
|
-
//
|
9
|
+
// Set the default border style for rhythm borders.
|
10
10
|
$default-rhythm-border-style: solid !default;
|
11
11
|
|
12
12
|
// The IE font ratio is a fact of life. Deal with it.
|
13
13
|
$ie-font-ratio: 16px / 100%;
|
14
14
|
|
15
|
-
// Set to false if you want to use absolute
|
15
|
+
// Set to false if you want to use absolute pixels in sizing your typography.
|
16
16
|
$relative-font-sizing: true !default;
|
17
17
|
|
18
18
|
// Allows the `adjust-font-size-to` mixin and the `lines-for-font-size` function
|
@@ -25,26 +25,26 @@ $round-to-nearest-half-line: false !default;
|
|
25
25
|
$min-line-padding: 2px !default;
|
26
26
|
|
27
27
|
// $base-font-size but in your output unit of choice.
|
28
|
-
// Defaults to 1em when `$relative-font-sizing`
|
28
|
+
// Defaults to 1em when `$relative-font-sizing` is true.
|
29
29
|
$font-unit: if($relative-font-sizing, 1em, $base-font-size) !default;
|
30
30
|
|
31
|
-
// The basic unit of font rhythm
|
31
|
+
// The basic unit of font rhythm.
|
32
32
|
$base-rhythm-unit: $base-line-height / $base-font-size * $font-unit;
|
33
33
|
|
34
34
|
// The leader is the amount of whitespace in a line.
|
35
|
-
// It might be useful in your calculations
|
35
|
+
// It might be useful in your calculations.
|
36
36
|
$base-leader: ($base-line-height - $base-font-size) * $font-unit / $base-font-size;
|
37
37
|
|
38
38
|
// The half-leader is the amount of whitespace above and below a line.
|
39
|
-
// It might be useful in your calculations
|
39
|
+
// It might be useful in your calculations.
|
40
40
|
$base-half-leader: $base-leader / 2;
|
41
41
|
|
42
|
-
// True if a number has a relative unit
|
42
|
+
// True if a number has a relative unit.
|
43
43
|
@function relative-unit($number) {
|
44
44
|
@return unit($number) == "%" or unit($number) == "em" or unit($number) == "rem"
|
45
45
|
}
|
46
46
|
|
47
|
-
// True if a number has an absolute unit
|
47
|
+
// True if a number has an absolute unit.
|
48
48
|
@function absolute-unit($number) {
|
49
49
|
@return not (relative-unit($number) or unitless($number));
|
50
50
|
}
|
@@ -53,7 +53,7 @@ $base-half-leader: $base-leader / 2;
|
|
53
53
|
@warn "$relative-font-sizing is true but $font-unit is set to #{$font-unit} which is not a relative unit.";
|
54
54
|
}
|
55
55
|
|
56
|
-
// Establishes a font baseline for the given font-size
|
56
|
+
// Establishes a font baseline for the given font-size.
|
57
57
|
@mixin establish-baseline($font-size: $base-font-size) {
|
58
58
|
body {
|
59
59
|
font-size: $font-size / $ie-font-ratio;
|
@@ -70,7 +70,7 @@ $base-half-leader: $base-leader / 2;
|
|
70
70
|
}
|
71
71
|
|
72
72
|
// Show a background image that can be used to debug your alignments.
|
73
|
-
//
|
73
|
+
// Include the $img argument if you would rather use your own image than the
|
74
74
|
// Compass default gradient image.
|
75
75
|
@mixin debug-vertical-alignment($img: false) {
|
76
76
|
@if $img {
|
@@ -80,11 +80,11 @@ $base-half-leader: $base-leader / 2;
|
|
80
80
|
}
|
81
81
|
}
|
82
82
|
|
83
|
-
// Adjust a block to have a different font size and
|
84
|
-
// $lines
|
85
|
-
// font
|
86
|
-
// to the smallest integer that is large enough to fit the font.
|
87
|
-
// Use $
|
83
|
+
// Adjust a block to have a different font size and line height to maintain the
|
84
|
+
// rhythm. $lines specifies how many multiples of the baseline rhythm each line
|
85
|
+
// of this font should use up. It does not have to be an integer, but it
|
86
|
+
// defaults to the smallest integer that is large enough to fit the font.
|
87
|
+
// Use $from-size to adjust from a font-size other than the base font-size.
|
88
88
|
@mixin adjust-font-size-to($to-size, $lines: lines-for-font-size($to-size), $from-size: $base-font-size) {
|
89
89
|
@if not $relative-font-sizing and $from-size != $base-font-size {
|
90
90
|
@warn "$relative-font-sizing is false but a relative font size was passed to adjust-font-size-to";
|
@@ -93,14 +93,15 @@ $base-half-leader: $base-leader / 2;
|
|
93
93
|
@include adjust-leading-to($lines, if($relative-font-sizing, $to-size, $base-font-size));
|
94
94
|
}
|
95
95
|
|
96
|
+
// Adjust a block to have different line height to maintain the rhythm.
|
97
|
+
// $lines specifies how many multiples of the baseline rhythm each line of this
|
98
|
+
// font should use up. It does not have to be an integer, but it defaults to the
|
99
|
+
// smallest integer that is large enough to fit the font.
|
96
100
|
@mixin adjust-leading-to($lines, $font-size: $base-font-size) {
|
97
|
-
|
98
|
-
@warn "$relative-font-sizing is false but a relative font size was passed to adjust-leading-to";
|
99
|
-
}
|
100
|
-
line-height: $font-unit * $lines * $base-line-height / $font-size;
|
101
|
+
line-height: rhythm($lines, $font-size);
|
101
102
|
}
|
102
103
|
|
103
|
-
// Calculate rhythm units
|
104
|
+
// Calculate rhythm units.
|
104
105
|
@function rhythm(
|
105
106
|
$lines: 1,
|
106
107
|
$font-size: $base-font-size
|
@@ -109,9 +110,14 @@ $base-half-leader: $base-leader / 2;
|
|
109
110
|
@warn "$relative-font-sizing is false but a relative font size was passed to the rhythm function";
|
110
111
|
}
|
111
112
|
$rhythm: $font-unit * $lines * $base-line-height / $font-size;
|
113
|
+
// Round the pixels down to nearest integer.
|
114
|
+
@if unit($rhythm) == px {
|
115
|
+
$rhythm: floor($rhythm);
|
116
|
+
}
|
112
117
|
@return $rhythm;
|
113
118
|
}
|
114
119
|
|
120
|
+
// Calculate the minimum multiple of rhythm units needed to contain the font-size.
|
115
121
|
@function lines-for-font-size($font-size) {
|
116
122
|
$lines: if($round-to-nearest-half-line,
|
117
123
|
ceil(2 * $font-size / $base-line-height) / 2,
|
@@ -122,46 +128,37 @@ $base-half-leader: $base-leader / 2;
|
|
122
128
|
@return $lines;
|
123
129
|
}
|
124
130
|
|
125
|
-
// Apply leading whitespace
|
131
|
+
// Apply leading whitespace. The $property can be margin or padding.
|
126
132
|
@mixin leader($lines: 1, $font-size: $base-font-size, $property: margin) {
|
127
|
-
$
|
128
|
-
@if unit($leader) == px {
|
129
|
-
$leader: floor($leader)
|
130
|
-
}
|
131
|
-
#{$property}-top: $leader;
|
133
|
+
#{$property}-top: rhythm($lines, $font-size);
|
132
134
|
}
|
133
135
|
|
134
|
-
// Apply leading whitespace as padding
|
136
|
+
// Apply leading whitespace as padding.
|
135
137
|
@mixin padding-leader($lines: 1, $font-size: $base-font-size) {
|
136
|
-
|
138
|
+
padding-top: rhythm($lines, $font-size);
|
137
139
|
}
|
138
140
|
|
139
|
-
// Apply leading whitespace as margin
|
141
|
+
// Apply leading whitespace as margin.
|
140
142
|
@mixin margin-leader($lines: 1, $font-size: $base-font-size) {
|
141
|
-
|
143
|
+
margin-top: rhythm($lines, $font-size);
|
142
144
|
}
|
143
145
|
|
144
|
-
// Apply trailing whitespace
|
146
|
+
// Apply trailing whitespace. The $property can be margin or padding.
|
145
147
|
@mixin trailer($lines: 1, $font-size: $base-font-size, $property: margin) {
|
146
|
-
$
|
147
|
-
@if unit($leader) == px {
|
148
|
-
$leader: ceil($leader)
|
149
|
-
}
|
150
|
-
#{$property}-bottom: $leader;
|
148
|
+
#{$property}-bottom: rhythm($lines, $font-size);
|
151
149
|
}
|
152
150
|
|
153
|
-
// Apply trailing whitespace as padding
|
151
|
+
// Apply trailing whitespace as padding.
|
154
152
|
@mixin padding-trailer($lines: 1, $font-size: $base-font-size) {
|
155
|
-
|
153
|
+
padding-bottom: rhythm($lines, $font-size);
|
156
154
|
}
|
157
155
|
|
158
|
-
// Apply trailing whitespace as margin
|
156
|
+
// Apply trailing whitespace as margin.
|
159
157
|
@mixin margin-trailer($lines: 1, $font-size: $base-font-size) {
|
160
|
-
|
158
|
+
margin-bottom: rhythm($lines, $font-size);
|
161
159
|
}
|
162
160
|
|
163
|
-
//
|
164
|
-
// Apply top margin/padding + bottom padding/margin
|
161
|
+
// Shorthand mixin to apply whitespace for top and bottom margins and padding.
|
165
162
|
@mixin rhythm($leader: 0, $padding-leader: 0, $padding-trailer: 0, $trailer: 0, $font-size: $base-font-size) {
|
166
163
|
@include leader($leader, $font-size);
|
167
164
|
@include padding-leader($padding-leader, $font-size);
|
@@ -169,8 +166,8 @@ $base-half-leader: $base-leader / 2;
|
|
169
166
|
@include trailer($trailer, $font-size);
|
170
167
|
}
|
171
168
|
|
172
|
-
// Apply a border
|
173
|
-
// The
|
169
|
+
// Apply a border and whitespace to any side without destroying the vertical
|
170
|
+
// rhythm. The whitespace must be greater than the width of the border.
|
174
171
|
@mixin apply-side-rhythm-border($side, $width: 1px, $lines: 1, $font-size: $base-font-size, $border-style: $default-rhythm-border-style) {
|
175
172
|
@if not $relative-font-sizing and $font-size != $base-font-size {
|
176
173
|
@warn "$relative-font-sizing is false but a relative font size was passed to apply-side-rhythm-border";
|
@@ -182,33 +179,35 @@ $base-half-leader: $base-leader / 2;
|
|
182
179
|
padding-#{$side}: $font-unit / $font-size * ($lines * $base-line-height - $width);
|
183
180
|
}
|
184
181
|
|
185
|
-
//
|
182
|
+
// Apply borders and whitespace equally to all sides.
|
186
183
|
@mixin rhythm-borders($width: 1px, $lines: 1, $font-size: $base-font-size, $border-style: $default-rhythm-border-style) {
|
187
184
|
@if not $relative-font-sizing and $font-size != $base-font-size {
|
188
185
|
@warn "$relative-font-sizing is false but a relative font size was passed to rhythm-borders";
|
189
186
|
}
|
190
187
|
border: {
|
191
188
|
style: $border-style;
|
192
|
-
width: $font-unit * $width / $font-size;
|
189
|
+
width: $font-unit * $width / $font-size;
|
190
|
+
};
|
193
191
|
padding: $font-unit / $font-size * ($lines * $base-line-height - $width);
|
194
192
|
}
|
195
193
|
|
196
|
-
// Apply a leading
|
194
|
+
// Apply a leading border.
|
197
195
|
@mixin leading-border($width: 1px, $lines: 1, $font-size: $base-font-size, $border-style: $default-rhythm-border-style) {
|
198
196
|
@include apply-side-rhythm-border(top, $width, $lines, $font-size, $border-style);
|
199
197
|
}
|
200
198
|
|
201
|
-
// Apply a trailing
|
199
|
+
// Apply a trailing border.
|
202
200
|
@mixin trailing-border($width: 1px, $lines: 1, $font-size: $base-font-size, $border-style: $default-rhythm-border-style) {
|
203
201
|
@include apply-side-rhythm-border(bottom, $width, $lines, $font-size, $border-style);
|
204
202
|
}
|
205
203
|
|
206
|
-
// Apply both leading and trailing
|
204
|
+
// Apply both leading and trailing borders.
|
207
205
|
@mixin horizontal-borders($width: 1px, $lines: 1, $font-size: $base-font-size, $border-style: $default-rhythm-border-style) {
|
208
206
|
@include leading-border($width, $lines, $font-size, $border-style);
|
209
207
|
@include trailing-border($width, $lines, $font-size, $border-style);
|
210
208
|
}
|
211
209
|
|
210
|
+
// Alias for `horizontal-borders` mixin.
|
212
211
|
@mixin h-borders($width: 1px, $lines: 1, $font-size: $base-font-size, $border-style: $default-rhythm-border-style) {
|
213
212
|
@include horizontal-borders($width, $lines, $font-size, $border-style);
|
214
213
|
}
|
@@ -5,7 +5,8 @@ module Compass::SassExtensions::Functions::FontFiles
|
|
5
5
|
:opentype => 'opentype',
|
6
6
|
:ttf => 'truetype',
|
7
7
|
:truetype => 'truetype',
|
8
|
-
:svg => 'svg'
|
8
|
+
:svg => 'svg',
|
9
|
+
:eot => 'embedded-opentype'
|
9
10
|
}
|
10
11
|
|
11
12
|
def font_files(*args)
|
@@ -24,7 +25,8 @@ module Compass::SassExtensions::Functions::FontFiles
|
|
24
25
|
if FONT_TYPES.key? type
|
25
26
|
skip_next = true
|
26
27
|
else
|
27
|
-
|
28
|
+
# let pass url like font.type?thing#stuff
|
29
|
+
type = arg.to_s.split('.').last.gsub(/(\?(.*))?(#(.*))?"/, '').to_sym
|
28
30
|
end
|
29
31
|
|
30
32
|
if FONT_TYPES.key? type
|
@@ -126,6 +126,18 @@ class SassExtensionsTest < Test::Unit::TestCase
|
|
126
126
|
evaluate("font-files('/font/name.woff')")
|
127
127
|
end
|
128
128
|
|
129
|
+
assert_nothing_raised Sass::SyntaxError do
|
130
|
+
evaluate("font-files('/font/name.svg#fontId')")
|
131
|
+
end
|
132
|
+
|
133
|
+
assert_nothing_raised Sass::SyntaxError do
|
134
|
+
evaluate("font-files('/font/name.eot?#iefix')")
|
135
|
+
end
|
136
|
+
|
137
|
+
assert_nothing_raised Sass::SyntaxError do
|
138
|
+
evaluate("font-files('/font/name.svg?mightbedynamic=something%20+escaped#fontId')")
|
139
|
+
end
|
140
|
+
|
129
141
|
assert_raises Sass::SyntaxError do
|
130
142
|
evaluate("font-files('/font/name.ext')")
|
131
143
|
end
|
metadata
CHANGED
@@ -1,25 +1,25 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: compass
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
prerelease:
|
4
|
+
prerelease: false
|
6
5
|
segments:
|
7
6
|
- 0
|
8
7
|
- 12
|
9
|
-
-
|
10
|
-
version: 0.12.
|
8
|
+
- 1
|
9
|
+
version: 0.12.1
|
11
10
|
platform: ruby
|
12
11
|
authors:
|
13
12
|
- Chris Eppstein
|
13
|
+
- Scott Davis
|
14
14
|
- Eric A. Meyer
|
15
15
|
- Brandon Mathis
|
16
|
+
- Anthony Short
|
16
17
|
- Nico Hagenburger
|
17
|
-
- Scott Davis
|
18
18
|
autorequire:
|
19
19
|
bindir: bin
|
20
20
|
cert_chain: []
|
21
21
|
|
22
|
-
date: 2012-03-
|
22
|
+
date: 2012-03-14 00:00:00 -07:00
|
23
23
|
default_executable:
|
24
24
|
dependencies:
|
25
25
|
- !ruby/object:Gem::Dependency
|
@@ -30,7 +30,6 @@ dependencies:
|
|
30
30
|
requirements:
|
31
31
|
- - ~>
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
hash: 5
|
34
33
|
segments:
|
35
34
|
- 3
|
36
35
|
- 1
|
@@ -45,7 +44,6 @@ dependencies:
|
|
45
44
|
requirements:
|
46
45
|
- - ~>
|
47
46
|
- !ruby/object:Gem::Version
|
48
|
-
hash: 11
|
49
47
|
segments:
|
50
48
|
- 1
|
51
49
|
- 2
|
@@ -60,7 +58,6 @@ dependencies:
|
|
60
58
|
requirements:
|
61
59
|
- - ">="
|
62
60
|
- !ruby/object:Gem::Version
|
63
|
-
hash: 25
|
64
61
|
segments:
|
65
62
|
- 0
|
66
63
|
- 2
|
@@ -1300,7 +1297,6 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
1300
1297
|
requirements:
|
1301
1298
|
- - ">="
|
1302
1299
|
- !ruby/object:Gem::Version
|
1303
|
-
hash: 3
|
1304
1300
|
segments:
|
1305
1301
|
- 0
|
1306
1302
|
version: "0"
|
@@ -1309,14 +1305,13 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
1309
1305
|
requirements:
|
1310
1306
|
- - ">="
|
1311
1307
|
- !ruby/object:Gem::Version
|
1312
|
-
hash: 3
|
1313
1308
|
segments:
|
1314
1309
|
- 0
|
1315
1310
|
version: "0"
|
1316
1311
|
requirements: []
|
1317
1312
|
|
1318
1313
|
rubyforge_project:
|
1319
|
-
rubygems_version: 1.
|
1314
|
+
rubygems_version: 1.3.7
|
1320
1315
|
signing_key:
|
1321
1316
|
specification_version: 3
|
1322
1317
|
summary: A Real Stylesheet Framework
|