less 2.0.8 → 2.0.9

Sign up to get free protection for your applications and to get access to all the features.
Files changed (70) hide show
  1. data/lib/less/js/Makefile +8 -2
  2. data/lib/less/js/benchmark/less-benchmark.js +1 -1
  3. data/lib/less/js/bin/lessc +17 -11
  4. data/lib/less/js/build/amd.js +6 -0
  5. data/lib/less/js/dist/less-1.1.5.min.js +1 -8
  6. data/lib/less/js/dist/less-1.1.6.js +3004 -0
  7. data/lib/less/js/dist/less-1.1.6.min.js +9 -0
  8. data/lib/less/js/dist/less-1.2.0.js +3293 -0
  9. data/lib/less/js/dist/less-1.2.0.min.js +9 -0
  10. data/lib/less/js/dist/less-1.2.1.js +3318 -0
  11. data/lib/less/js/dist/less-1.2.1.min.js +9 -0
  12. data/lib/less/js/lib/less/browser.js +33 -28
  13. data/lib/less/js/lib/less/colors.js +151 -0
  14. data/lib/less/js/lib/less/cssmin.js +355 -0
  15. data/lib/less/js/lib/less/functions.js +49 -6
  16. data/lib/less/js/lib/less/index.js +21 -18
  17. data/lib/less/js/lib/less/parser.js +230 -92
  18. data/lib/less/js/lib/less/rhino.js +3 -1
  19. data/lib/less/js/lib/less/tree.js +6 -2
  20. data/lib/less/js/lib/less/tree/call.js +6 -3
  21. data/lib/less/js/lib/less/tree/condition.js +42 -0
  22. data/lib/less/js/lib/less/tree/dimension.js +15 -0
  23. data/lib/less/js/lib/less/tree/directive.js +8 -2
  24. data/lib/less/js/lib/less/tree/element.js +14 -2
  25. data/lib/less/js/lib/less/tree/expression.js +1 -1
  26. data/lib/less/js/lib/less/tree/import.js +13 -11
  27. data/lib/less/js/lib/less/tree/keyword.js +11 -1
  28. data/lib/less/js/lib/less/tree/mixin.js +31 -13
  29. data/lib/less/js/lib/less/tree/paren.js +16 -0
  30. data/lib/less/js/lib/less/tree/quoted.js +1 -1
  31. data/lib/less/js/lib/less/tree/rule.js +7 -3
  32. data/lib/less/js/lib/less/tree/ruleset.js +7 -4
  33. data/lib/less/js/lib/less/tree/selector.js +5 -0
  34. data/lib/less/js/lib/less/tree/variable.js +4 -2
  35. data/lib/less/js/package.json +1 -1
  36. data/lib/less/js/test/css/colors.css +10 -0
  37. data/lib/less/js/test/css/comments.css +9 -5
  38. data/lib/less/js/test/css/css-3.css +4 -2
  39. data/lib/less/js/test/css/css-escapes.css +1 -1
  40. data/lib/less/js/test/css/css.css +8 -4
  41. data/lib/less/js/test/css/functions.css +13 -0
  42. data/lib/less/js/test/css/import.css +10 -3
  43. data/lib/less/js/test/css/media.css +8 -2
  44. data/lib/less/js/test/css/mixins-args.css +5 -2
  45. data/lib/less/js/test/css/mixins-guards.css +58 -0
  46. data/lib/less/js/test/css/mixins-important.css +17 -0
  47. data/lib/less/js/test/css/mixins.css +2 -1
  48. data/lib/less/js/test/css/operations.css +3 -0
  49. data/lib/less/js/test/css/parens.css +1 -1
  50. data/lib/less/js/test/css/rulesets.css +6 -2
  51. data/lib/less/js/test/css/scope.css +6 -6
  52. data/lib/less/js/test/css/selectors.css +8 -4
  53. data/lib/less/js/test/css/strings.css +6 -4
  54. data/lib/less/js/test/css/variables.css +3 -0
  55. data/lib/less/js/test/css/whitespace.css +5 -3
  56. data/lib/less/js/test/less-test.js +1 -1
  57. data/lib/less/js/test/less/colors.less +13 -0
  58. data/lib/less/js/test/less/comments.less +8 -6
  59. data/lib/less/js/test/less/functions.less +15 -1
  60. data/lib/less/js/test/less/import.less +3 -1
  61. data/lib/less/js/test/less/import/import-test-e.less +2 -0
  62. data/lib/less/js/test/less/media.less +6 -0
  63. data/lib/less/js/test/less/mixins-args.less +6 -0
  64. data/lib/less/js/test/less/mixins-guards.less +94 -0
  65. data/lib/less/js/test/less/mixins-important.less +18 -0
  66. data/lib/less/js/test/less/operations.less +4 -0
  67. data/lib/less/js/test/less/strings.less +2 -0
  68. data/lib/less/js/test/less/variables.less +4 -0
  69. data/lib/less/version.rb +1 -1
  70. metadata +28 -12
@@ -4,6 +4,8 @@
4
4
  content: "#*%:&^,)!.(~*})";
5
5
  empty: "";
6
6
  brackets: "{" "}";
7
+ escapes: "\"hello\" \\world";
8
+ escapes2: "\"llo";
7
9
  }
8
10
  #comments {
9
11
  content: "/* hello */ // not-so-secret";
@@ -31,8 +33,8 @@
31
33
  url5: "http://lesscss.org/54.4";
32
34
  }
33
35
  .mix-mul-class {
34
- color: blue;
35
- color: red;
36
- color: blue;
37
- color: orange;
36
+ color: #0000ff;
37
+ color: #ff0000;
38
+ color: #0000ff;
39
+ color: #ffa500;
38
40
  }
@@ -22,3 +22,6 @@
22
22
  .alpha {
23
23
  filter: alpha(opacity=42);
24
24
  }
25
+ a:nth-child(2) {
26
+ border: 1px;
27
+ }
@@ -13,18 +13,20 @@
13
13
  .whitespace {
14
14
  color: white ;
15
15
  }
16
- .white, .space, .mania {
16
+ .white,
17
+ .space,
18
+ .mania {
17
19
  color: white;
18
20
  }
19
21
  .no-semi-column {
20
- color: white;
22
+ color: #ffffff;
21
23
  }
22
24
  .no-semi-column {
23
25
  color: white;
24
26
  white-space: pre;
25
27
  }
26
28
  .no-semi-column {
27
- border: 2px solid white;
29
+ border: 2px solid #ffffff;
28
30
  }
29
31
  .newlines {
30
32
  background: the,
@@ -10,7 +10,7 @@ less.tree.functions.add = function (a, b) {
10
10
  less.tree.functions.increment = function (a) {
11
11
  return new(less.tree.Dimension)(a.value + 1);
12
12
  }
13
- less.tree.functions.color = function (str) {
13
+ less.tree.functions._color = function (str) {
14
14
  if (str.value === "evil red") { return new(less.tree.Color)("600") }
15
15
  }
16
16
 
@@ -50,3 +50,16 @@
50
50
  #00ff00 {
51
51
  color: hsl(120, 100%, 50%);
52
52
  }
53
+
54
+ .lightenblue {
55
+ color: lighten(blue, 10%);
56
+ }
57
+
58
+ .darkenblue {
59
+ color: darken(blue, 10%);
60
+ }
61
+
62
+ .unknowncolors {
63
+ color: blue2;
64
+ border: 2px solid superred;
65
+ }
@@ -10,9 +10,9 @@
10
10
 
11
11
  */
12
12
 
13
- /*
13
+ /*
14
14
  * Comment Test
15
- *
15
+ *
16
16
  * - cloudhead (http://cloudhead.net)
17
17
  *
18
18
  */
@@ -35,15 +35,15 @@
35
35
  /* @group Variables
36
36
  ------------------- */
37
37
  #comments /* boo */ {
38
- /**/ // An empty comment
38
+ /**/ // An empty comment
39
39
  color: red; /* A C-style comment */
40
40
  background-color: orange; // A little comment
41
41
  font-size: 12px;
42
-
42
+
43
43
  /* lost comment */ content: @var;
44
-
44
+
45
45
  border: 1px solid black;
46
-
46
+
47
47
  // padding & margin //
48
48
  padding: 0; // }{ '"
49
49
  margin: 2em;
@@ -57,6 +57,8 @@
57
57
 
58
58
  .selector /* .with */, .lots, /* of */ .comments {
59
59
  color: grey, /* blue */ orange;
60
+ -webkit-border-radius: 2px /* webkit only */;
61
+ -moz-border-radius: 2px * 4 /* moz only with operation */;
60
62
  }
61
63
 
62
64
  #last { color: blue }
@@ -1,6 +1,6 @@
1
1
  #functions {
2
2
  @var: 10;
3
- color: color("evil red"); // #660000
3
+ color: _color("evil red"); // #660000
4
4
  width: increment(15);
5
5
  height: undefined("self");
6
6
  border-width: add(2, 3);
@@ -28,6 +28,20 @@
28
28
  lightness: lightness(hsl(98, 12%, 95%));
29
29
  rounded: round(@r/3);
30
30
  roundedpx: round(10px / 3);
31
+ percentage: percentage(10px / 50);
32
+ color: color("#ff0011");
33
+
34
+ .is-a {
35
+ color: iscolor(#ddd);
36
+ color: iscolor(red);
37
+ color: iscolor(rgb(0, 0, 0));
38
+ keyword: iskeyword(hello);
39
+ number: isnumber(32);
40
+ string: isstring("hello");
41
+ pixel: ispixel(32px);
42
+ percent: ispercentage(32%);
43
+ em: isem(32em);
44
+ }
31
45
  }
32
46
 
33
47
  #alpha {
@@ -1,9 +1,11 @@
1
1
  @import url("import/import-test-a.less");
2
- //@import url("import/import-test-a.less");
3
2
  @import url(http://fonts.googleapis.com/css?family=Open+Sans);
4
3
 
4
+ @import url(something.css) screen and (color) and (max-width: 600px);
5
+
5
6
  #import-test {
6
7
  .mixin;
7
8
  width: 10px;
8
9
  height: @a + 10%;
9
10
  }
11
+ @import "import/import-test-e" screen and (max-width: 600px);
@@ -0,0 +1,2 @@
1
+
2
+ body { width: 100% }
@@ -23,3 +23,9 @@
23
23
  @media all and (orientation:portrait) {
24
24
  aside { float: none; }
25
25
  }
26
+
27
+ @media handheld and (min-width: @var), screen and (min-width: 20em) {
28
+ body {
29
+ max-width: 480px;
30
+ }
31
+ }
@@ -116,3 +116,9 @@ body {
116
116
  .arguments2 {
117
117
  .mixin-arguments();
118
118
  }
119
+
120
+ // Edge cases
121
+
122
+ .edge-case {
123
+ .mixin-arguments("{");
124
+ }
@@ -0,0 +1,94 @@
1
+
2
+ // Stacking, functions..
3
+
4
+ .light (@a) when (lightness(@a) > 50%) {
5
+ color: white;
6
+ }
7
+ .light (@a) when (lightness(@a) < 50%) {
8
+ color: black;
9
+ }
10
+ .light (@a) {
11
+ margin: 1px;
12
+ }
13
+
14
+ .light1 { .light(#ddd) }
15
+ .light2 { .light(#444) }
16
+
17
+ // Arguments against each other
18
+
19
+ .max (@a, @b) when (@a > @b) {
20
+ width: @a;
21
+ }
22
+ .max (@a, @b) when (@a < @b) {
23
+ width: @b;
24
+ }
25
+
26
+ .max1 { .max(3, 6) }
27
+ .max2 { .max(8, 1) }
28
+
29
+ // Globals inside guards
30
+
31
+ @g: auto;
32
+
33
+ .glob (@a) when (@a = @g) {
34
+ margin: @a @g;
35
+ }
36
+ .glob1 { .glob(auto) }
37
+
38
+ // Other operators
39
+
40
+ .ops (@a) when (@a >= 0) {
41
+ height: gt-or-eq;
42
+ }
43
+ .ops (@a) when (@a =< 0) {
44
+ height: lt-or-eq;
45
+ }
46
+ .ops (@a) when not(@a = 0) {
47
+ height: not-eq;
48
+ }
49
+ .ops1 { .ops(0) }
50
+ .ops2 { .ops(1) }
51
+ .ops3 { .ops(-1) }
52
+
53
+ // Scope and default values
54
+
55
+ @a: auto;
56
+
57
+ .default (@a: inherit) when (@a = inherit) {
58
+ content: default;
59
+ }
60
+ .default1 { .default }
61
+
62
+ // true & false keywords
63
+ .test (@a) when (@a) {
64
+ content: "true.";
65
+ }
66
+ .test (@a) when not (@a) {
67
+ content: "false.";
68
+ }
69
+
70
+ .test1 { .test(true) }
71
+ .test2 { .test(false) }
72
+ .test3 { .test(1) }
73
+ .test4 { .test(boo) }
74
+ .test5 { .test("true") }
75
+
76
+ // Boolean expressions
77
+
78
+ .bool () when (true) and (false) { content: true and false } // FALSE
79
+ .bool () when (true) and (true) { content: true and true } // TRUE
80
+ .bool () when (true) { content: true } // TRUE
81
+ .bool () when (false) and (false) { content: true } // FALSE
82
+ .bool () when (false), (true) { content: false, true } // TRUE
83
+ .bool () when (false) and (true) and (true), (true) { content: false and true and true, true } // TRUE
84
+ .bool () when (true) and (true) and (false), (false) { content: true and true and false, false } // FALSE
85
+ .bool () when (false), (true) and (true) { content: false, true and true } // TRUE
86
+ .bool () when (false), (false), (true) { content: false, false, true } // TRUE
87
+ .bool () when (false), (false) and (true), (false) { content: false, false and true, false } // FALSE
88
+ .bool () when (false), (true) and (true) and (true), (false) { content: false, true and true and true, false } // TRUE
89
+ .bool () when not (false) { content: not false }
90
+ .bool () when not (true) and not (false) { content: not true and not false }
91
+ .bool () when not (true) and not (true) { content: not true and not true }
92
+ .bool () when not (false) and (false), not (false) { content: not false and false, not false }
93
+
94
+ .bool1 { .bool }
@@ -0,0 +1,18 @@
1
+
2
+ .mixin (9) {
3
+ border: 9 !important;
4
+ }
5
+ .mixin (@a: 0) {
6
+ border: @a;
7
+ boxer: @a;
8
+ }
9
+
10
+ .class {
11
+ .mixin(1);
12
+ .mixin(2) !important;
13
+ .mixin(3);
14
+ .mixin(4) !important;
15
+ .mixin(5);
16
+ .mixin !important;
17
+ .mixin(9);
18
+ }
@@ -36,6 +36,10 @@
36
36
  padding: -1px 2px 0 -4px; //
37
37
  }
38
38
 
39
+ .rem-dimensions {
40
+ font-size: 20rem / 5 + 1.5rem; // 5.5rem
41
+ }
42
+
39
43
  .colors {
40
44
  color: #123; // #112233
41
45
  border-color: #234 + #111111; // #334455
@@ -4,6 +4,8 @@
4
4
  content: "#*%:&^,)!.(~*})";
5
5
  empty: "";
6
6
  brackets: "{" "}";
7
+ escapes: "\"hello\" \\world";
8
+ escapes2: "\"llo";
7
9
  }
8
10
  #comments {
9
11
  content: "/* hello */ // not-so-secret";
@@ -48,3 +48,7 @@
48
48
  @var: 42;
49
49
  filter: alpha(opacity=@var);
50
50
  }
51
+
52
+ a:nth-child(@a) {
53
+ border: 1px;
54
+ }
@@ -1,3 +1,3 @@
1
1
  module Less
2
- VERSION = '2.0.8'
2
+ VERSION = '2.0.9'
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: less
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.8
4
+ version: 2.0.9
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-11-30 00:00:00.000000000Z
12
+ date: 2012-01-24 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: therubyracer
16
- requirement: &2153250880 !ruby/object:Gem::Requirement
16
+ requirement: &2157628960 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: 0.9.9
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *2153250880
24
+ version_requirements: *2157628960
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: commonjs
27
- requirement: &2153245300 !ruby/object:Gem::Requirement
27
+ requirement: &2157627480 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ~>
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: 0.2.0
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *2153245300
35
+ version_requirements: *2157627480
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: rake
38
- requirement: &2153243360 !ruby/object:Gem::Requirement
38
+ requirement: &2157626440 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: '0'
44
44
  type: :development
45
45
  prerelease: false
46
- version_requirements: *2153243360
46
+ version_requirements: *2157626440
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: rspec
49
- requirement: &2153240780 !ruby/object:Gem::Requirement
49
+ requirement: &2157625500 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ~>
@@ -54,7 +54,7 @@ dependencies:
54
54
  version: '2.0'
55
55
  type: :development
56
56
  prerelease: false
57
- version_requirements: *2153240780
57
+ version_requirements: *2157625500
58
58
  description: Invoke the Less CSS compiler from Ruby
59
59
  email:
60
60
  - cowboyd@thefrontside.net
@@ -86,6 +86,7 @@ files:
86
86
  - lib/less/js/benchmark/benchmark.less
87
87
  - lib/less/js/benchmark/less-benchmark.js
88
88
  - lib/less/js/bin/lessc
89
+ - lib/less/js/build/amd.js
89
90
  - lib/less/js/build/ecma-5.js
90
91
  - lib/less/js/build/header.js
91
92
  - lib/less/js/build/require-rhino.js
@@ -102,9 +103,17 @@ files:
102
103
  - lib/less/js/dist/less-1.1.4.min.js
103
104
  - lib/less/js/dist/less-1.1.5.js
104
105
  - lib/less/js/dist/less-1.1.5.min.js
106
+ - lib/less/js/dist/less-1.1.6.js
107
+ - lib/less/js/dist/less-1.1.6.min.js
108
+ - lib/less/js/dist/less-1.2.0.js
109
+ - lib/less/js/dist/less-1.2.0.min.js
110
+ - lib/less/js/dist/less-1.2.1.js
111
+ - lib/less/js/dist/less-1.2.1.min.js
105
112
  - lib/less/js/dist/less-rhino-1.1.3.js
106
113
  - lib/less/js/dist/less-rhino-1.1.5.js
107
114
  - lib/less/js/lib/less/browser.js
115
+ - lib/less/js/lib/less/colors.js
116
+ - lib/less/js/lib/less/cssmin.js
108
117
  - lib/less/js/lib/less/functions.js
109
118
  - lib/less/js/lib/less/index.js
110
119
  - lib/less/js/lib/less/parser.js
@@ -116,6 +125,7 @@ files:
116
125
  - lib/less/js/lib/less/tree/call.js
117
126
  - lib/less/js/lib/less/tree/color.js
118
127
  - lib/less/js/lib/less/tree/comment.js
128
+ - lib/less/js/lib/less/tree/condition.js
119
129
  - lib/less/js/lib/less/tree/dimension.js
120
130
  - lib/less/js/lib/less/tree/directive.js
121
131
  - lib/less/js/lib/less/tree/element.js
@@ -125,6 +135,7 @@ files:
125
135
  - lib/less/js/lib/less/tree/keyword.js
126
136
  - lib/less/js/lib/less/tree/mixin.js
127
137
  - lib/less/js/lib/less/tree/operation.js
138
+ - lib/less/js/lib/less/tree/paren.js
128
139
  - lib/less/js/lib/less/tree/quoted.js
129
140
  - lib/less/js/lib/less/tree/rule.js
130
141
  - lib/less/js/lib/less/tree/ruleset.js
@@ -146,6 +157,8 @@ files:
146
157
  - lib/less/js/test/css/media.css
147
158
  - lib/less/js/test/css/mixins-args.css
148
159
  - lib/less/js/test/css/mixins-closure.css
160
+ - lib/less/js/test/css/mixins-guards.css
161
+ - lib/less/js/test/css/mixins-important.css
149
162
  - lib/less/js/test/css/mixins-nested.css
150
163
  - lib/less/js/test/css/mixins-pattern.css
151
164
  - lib/less/js/test/css/mixins.css
@@ -170,11 +183,14 @@ files:
170
183
  - lib/less/js/test/less/import/import-test-b.less
171
184
  - lib/less/js/test/less/import/import-test-c.less
172
185
  - lib/less/js/test/less/import/import-test-d.css
186
+ - lib/less/js/test/less/import/import-test-e.less
173
187
  - lib/less/js/test/less/javascript.less
174
188
  - lib/less/js/test/less/lazy-eval.less
175
189
  - lib/less/js/test/less/media.less
176
190
  - lib/less/js/test/less/mixins-args.less
177
191
  - lib/less/js/test/less/mixins-closure.less
192
+ - lib/less/js/test/less/mixins-guards.less
193
+ - lib/less/js/test/less/mixins-important.less
178
194
  - lib/less/js/test/less/mixins-nested.less
179
195
  - lib/less/js/test/less/mixins-pattern.less
180
196
  - lib/less/js/test/less/mixins.less
@@ -200,7 +216,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
200
216
  version: '0'
201
217
  segments:
202
218
  - 0
203
- hash: -1448237913585491940
219
+ hash: -2977671165805709485
204
220
  required_rubygems_version: !ruby/object:Gem::Requirement
205
221
  none: false
206
222
  requirements:
@@ -209,7 +225,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
209
225
  version: '0'
210
226
  segments:
211
227
  - 0
212
- hash: -1448237913585491940
228
+ hash: -2977671165805709485
213
229
  requirements: []
214
230
  rubyforge_project: less
215
231
  rubygems_version: 1.8.10