less 2.0.8 → 2.0.9

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.
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