lesslateral 1.2.21

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 (84) hide show
  1. data/.gitignore +4 -0
  2. data/CHANGELOG +62 -0
  3. data/LICENSE +179 -0
  4. data/README.md +48 -0
  5. data/Rakefile +52 -0
  6. data/VERSION +1 -0
  7. data/bin/lessc +103 -0
  8. data/less.gemspec +134 -0
  9. data/lib/less.rb +36 -0
  10. data/lib/less/command.rb +108 -0
  11. data/lib/less/engine.rb +52 -0
  12. data/lib/less/engine/grammar/common.tt +29 -0
  13. data/lib/less/engine/grammar/entity.tt +144 -0
  14. data/lib/less/engine/grammar/less.tt +341 -0
  15. data/lib/less/engine/nodes.rb +9 -0
  16. data/lib/less/engine/nodes/element.rb +281 -0
  17. data/lib/less/engine/nodes/entity.rb +79 -0
  18. data/lib/less/engine/nodes/function.rb +93 -0
  19. data/lib/less/engine/nodes/literal.rb +171 -0
  20. data/lib/less/engine/nodes/property.rb +232 -0
  21. data/lib/less/engine/nodes/ruleset.rb +12 -0
  22. data/lib/less/engine/nodes/selector.rb +44 -0
  23. data/lib/less/ext.rb +60 -0
  24. data/lib/less/notification.rb +59 -0
  25. data/spec/command_spec.rb +102 -0
  26. data/spec/css/accessors.css +18 -0
  27. data/spec/css/big.css +3768 -0
  28. data/spec/css/colors.css +14 -0
  29. data/spec/css/comments.css +9 -0
  30. data/spec/css/css-3.css +21 -0
  31. data/spec/css/css.css +50 -0
  32. data/spec/css/dash-prefix.css +12 -0
  33. data/spec/css/functions.css +6 -0
  34. data/spec/css/import-with-extra-paths.css +8 -0
  35. data/spec/css/import-with-partial-in-extra-path.css +6 -0
  36. data/spec/css/import.css +12 -0
  37. data/spec/css/lazy-eval.css +1 -0
  38. data/spec/css/mixins-args.css +32 -0
  39. data/spec/css/mixins.css +28 -0
  40. data/spec/css/operations.css +28 -0
  41. data/spec/css/parens.css +20 -0
  42. data/spec/css/rulesets.css +17 -0
  43. data/spec/css/scope.css +11 -0
  44. data/spec/css/selectors.css +13 -0
  45. data/spec/css/strings.css +12 -0
  46. data/spec/css/variables.css +8 -0
  47. data/spec/css/whitespace.css +7 -0
  48. data/spec/engine_spec.rb +127 -0
  49. data/spec/less/accessors.less +20 -0
  50. data/spec/less/big.less +1264 -0
  51. data/spec/less/colors.less +35 -0
  52. data/spec/less/comments.less +46 -0
  53. data/spec/less/css-3.less +52 -0
  54. data/spec/less/css.less +104 -0
  55. data/spec/less/dash-prefix.less +21 -0
  56. data/spec/less/exceptions/mixed-units-error.less +3 -0
  57. data/spec/less/exceptions/name-error-1.0.less +3 -0
  58. data/spec/less/exceptions/syntax-error-1.0.less +3 -0
  59. data/spec/less/extra_import_path/extra.less +1 -0
  60. data/spec/less/extra_import_path/import/import-test-a.css +1 -0
  61. data/spec/less/extra_import_path/import/import-test-a.less +4 -0
  62. data/spec/less/functions.less +6 -0
  63. data/spec/less/hidden.less +25 -0
  64. data/spec/less/import-with-extra-paths.less +4 -0
  65. data/spec/less/import.less +8 -0
  66. data/spec/less/import/import-test-a.less +2 -0
  67. data/spec/less/import/import-test-b.less +8 -0
  68. data/spec/less/import/import-test-c.less +7 -0
  69. data/spec/less/import/import-test-d.css +1 -0
  70. data/spec/less/lazy-eval.less +6 -0
  71. data/spec/less/literal-css.less +11 -0
  72. data/spec/less/mixins-args.less +59 -0
  73. data/spec/less/mixins.less +43 -0
  74. data/spec/less/operations.less +39 -0
  75. data/spec/less/parens.less +26 -0
  76. data/spec/less/rulesets.less +30 -0
  77. data/spec/less/scope.less +32 -0
  78. data/spec/less/selectors.less +24 -0
  79. data/spec/less/strings.less +14 -0
  80. data/spec/less/variables.less +29 -0
  81. data/spec/less/whitespace.less +34 -0
  82. data/spec/spec.css +50 -0
  83. data/spec/spec_helper.rb +8 -0
  84. metadata +159 -0
@@ -0,0 +1,43 @@
1
+ .mixin { border: 1px solid black; }
2
+ .mixout { border-color: orange; }
3
+ .borders { border-style: dashed; }
4
+
5
+ #namespace {
6
+ .borders {
7
+ border-style: dotted;
8
+ }
9
+ .biohazard {
10
+ content: "death";
11
+ .man {
12
+ color: transparent;
13
+ }
14
+ }
15
+ }
16
+ #theme > .mixin {
17
+ background-color: grey;
18
+ }
19
+ #container {
20
+ color: black;
21
+ .mixin, .mixout;
22
+ #theme > .mixin;
23
+ }
24
+
25
+ #header {
26
+ .milk {
27
+ color: white;
28
+ .mixin, #theme > .mixin;
29
+ }
30
+ #cookie {
31
+ .chips {
32
+ #namespace .borders;
33
+ .calories {
34
+ #container;
35
+ }
36
+ }
37
+ .borders;
38
+ }
39
+ }
40
+ .secure-zone { #namespace .biohazard .man; }
41
+ .direct {
42
+ #namespace > .borders;
43
+ }
@@ -0,0 +1,39 @@
1
+ #operations {
2
+ color: #110000 + #000011 + #001100; // #111111
3
+ height: 10px / 2px + 6px - 1px * 2; // 9px
4
+ width: 2 * 4 - 5em; // 3em
5
+ .spacing {
6
+ height: 10px / 2px+6px-1px*2;
7
+ width: 2 * 4-5em;
8
+ }
9
+ }
10
+
11
+ @x: 4;
12
+ @y: 12em;
13
+
14
+ .with-variables {
15
+ height: @x + @y; // 16em
16
+ width: 12 + @y; // 24em
17
+ size: 5cm - @x; // 1cm
18
+ }
19
+
20
+ @z: -2;
21
+
22
+ .negative {
23
+ height: 2px + @z; // 0px
24
+ width: 2px - @z; // 4px
25
+ }
26
+
27
+ .shorthands {
28
+ padding: -1px 2px 0 -4px; //
29
+ }
30
+
31
+ .colors {
32
+ color: #123; // #112233
33
+ border-color: #234 + #111111; // #334455
34
+ background-color: #222222 - #fff; // #000000
35
+ .other {
36
+ color: 2 * #111; // #222222
37
+ border-color: #333333 / 3 + #111; // #222222
38
+ }
39
+ }
@@ -0,0 +1,26 @@
1
+ .parens {
2
+ @var: 1px;
3
+ border: (@var * 2) solid black;
4
+ margin: (@var * 1) (@var + 2) (4 * 4) 3;
5
+ width: (6 * 6);
6
+ padding: 2px (6px * 6px);
7
+ }
8
+
9
+ .more-parens {
10
+ @var: (2 * 2);
11
+ padding: (2 * @var) 4 4 (@var * 1px);
12
+ width: (@var * @var) * 6;
13
+ height: (7 * 7) + (8 * 8);
14
+ margin: 4 * (5 + 5) / 2 - (@var * 2);
15
+ //margin: (6 * 6)px;
16
+ }
17
+
18
+ .nested-parens {
19
+ width: 2 * (4 * (2 + (1 + 6))) - 1;
20
+ height: ((2+3)*(2+3) / (9-4)) + 1;
21
+ }
22
+
23
+ .mixed-units {
24
+ margin: 2px 4em 1 5pc;
25
+ padding: (2px + 4px) 1em 2px 2;
26
+ }
@@ -0,0 +1,30 @@
1
+ #first > .one {
2
+ > #second .two > #deux {
3
+ width: 50%;
4
+ #third {
5
+ :focus {
6
+ color: black;
7
+ #fifth {
8
+ > #sixth {
9
+ .seventh #eighth {
10
+ + #ninth {
11
+ color: purple;
12
+ }
13
+ }
14
+ }
15
+ }
16
+ }
17
+ height: 100%;
18
+ }
19
+ #fourth, #five, #six {
20
+ color: #110000;
21
+ .seven, .eight > #nine {
22
+ border: 1px solid black;
23
+ }
24
+ #ten {
25
+ color: red;
26
+ }
27
+ }
28
+ }
29
+ font-size: 2em;
30
+ }
@@ -0,0 +1,32 @@
1
+ @x: blue;
2
+ @z: transparent;
3
+ @mix: none;
4
+
5
+ .mixin {
6
+ @mix: #989;
7
+ }
8
+
9
+ .tiny-scope {
10
+ color: @mix; // #989
11
+ .mixin;
12
+ }
13
+
14
+ .scope1 {
15
+ @y: orange;
16
+ @z: black;
17
+ color: @x; // blue
18
+ border-color: @z; // black
19
+ .hidden {
20
+ @x: #131313;
21
+ }
22
+ .scope2 {
23
+ @y: red;
24
+ color: @x; // blue
25
+ .scope3 {
26
+ @local: white;
27
+ color: @y; // red
28
+ border-color: @z; // black
29
+ background-color: @local; // white
30
+ }
31
+ }
32
+ }
@@ -0,0 +1,24 @@
1
+ h1, h2, h3 {
2
+ a, p {
3
+ :hover {
4
+ color: red;
5
+ }
6
+ }
7
+ }
8
+
9
+ #all { color: blue; }
10
+ #the { color: blue; }
11
+ #same { color: blue; }
12
+
13
+ ul, li, div, q, blockquote, textarea {
14
+ margin: 0;
15
+ }
16
+
17
+ td {
18
+ margin: 0;
19
+ padding: 0;
20
+ }
21
+
22
+ td, input {
23
+ line-height: 1em;
24
+ }
@@ -0,0 +1,14 @@
1
+ #strings {
2
+ background-image: url("http://son-of-a-banana.com");
3
+ quotes: "~" "~";
4
+ content: "#*%:&^,)!.(~*})";
5
+ empty: "";
6
+ }
7
+ #comments {
8
+ content: "/* hello */ // not-so-secret";
9
+ }
10
+ #single-quote {
11
+ quotes: "'" "'";
12
+ content: '""#!&""';
13
+ empty: '';
14
+ }
@@ -0,0 +1,29 @@
1
+ @a: 2;
2
+ @x: @a * @a;
3
+ @y: @x + 1;
4
+ @z: @x * 2 + @y;
5
+
6
+ .variables {
7
+ width: @z + 1cm; // 14cm
8
+ }
9
+
10
+ @b: @a * 10;
11
+ @c: #888;
12
+
13
+ @fonts: "Trebuchet MS", Verdana, sans-serif;
14
+ @f: @fonts;
15
+
16
+ @quotes: "~" "~";
17
+ @q: @quotes;
18
+
19
+ .variables {
20
+ height: @b + @x + 0px; // 24px
21
+ color: @c;
22
+ font-family: @f;
23
+ quotes: @q;
24
+ }
25
+
26
+ .alpha {
27
+ @o: 95;
28
+ filter: alpha(opacity=@o);
29
+ }
@@ -0,0 +1,34 @@
1
+
2
+
3
+ .whitespace
4
+ { color: white; }
5
+
6
+ .whitespace
7
+ {
8
+ color: white;
9
+ }
10
+ .whitespace
11
+ { color: white; }
12
+
13
+ .whitespace{color:white;}
14
+ .whitespace { color : white ; }
15
+
16
+ .white,
17
+ .space,
18
+ .mania
19
+ { color: white; }
20
+
21
+ .no-semi-column { color: white }
22
+ .no-semi-column {
23
+ color: white;
24
+ white-space: pre
25
+ }
26
+ .no-semi-column {border: 2px solid white}
27
+ .newlines {
28
+ border: 2px
29
+ solid
30
+ black;
31
+ }
32
+ .empty {
33
+
34
+ }
data/spec/spec.css ADDED
@@ -0,0 +1,50 @@
1
+ div { color: black; }
2
+ div { width: 99%; }
3
+ * { min-width: 45em; }
4
+ h1 { color: none; }
5
+ h2 > a > p { color: none; }
6
+ h3 { color: none; }
7
+ div.class { color: blue; }
8
+ div#id { color: green; }
9
+ .class#id { color: purple; }
10
+ .one.two.three { color: grey; }
11
+ @media print { font-size: 3em; }
12
+ @media screen { font-size: 10px; }
13
+ @font-face {
14
+ font-family: 'Garamond Pro';
15
+ src: url("/fonts/garamond-pro.ttf");
16
+ }
17
+ a:hover { color: #999999; }
18
+ a:link { color: #999999; }
19
+ p { text-transform: none; }
20
+ p:first-child { text-transform: none; }
21
+ q:lang(no) { quotes: none; }
22
+ p + h1 { font-size: 2.2em; }
23
+ input[type="text"] { font-weight: normal; }
24
+ h2[title] { font-size: 100%; }
25
+ [disabled] { color: transparent; }
26
+ #shorthands {
27
+ border: 1px solid #000000;
28
+ font: 12px/16px Arial;
29
+ margin: 1px 0;
30
+ padding: 0 auto;
31
+ background: url("http://www.lesscss.org/spec.html") no-repeat 0 4px;
32
+ }
33
+ #more-shorthands {
34
+ margin: 0;
35
+ padding: 1px 0 2px 0;
36
+ font: normal small/20px 'Trebuchet MS', Verdana, sans-serif;
37
+ }
38
+ .misc {
39
+ -moz-border-radius: 2px;
40
+ display: -moz-inline-stack;
41
+ width: 0.1em;
42
+ background-color: #009998;
43
+ background-image: url(images/image.jpg);
44
+ background: -webkit-gradient(linear, left top, left bottom, from(red), to(blue));
45
+ }
46
+ #important {
47
+ color: red !important;
48
+ width: 100% !important;
49
+ height: 20px ! important;
50
+ }
@@ -0,0 +1,8 @@
1
+ require 'rubygems'
2
+ require 'spec'
3
+
4
+ $:.unshift File.join(File.dirname(__FILE__), '..', 'lib')
5
+ $:.unshift File.dirname(__FILE__)
6
+
7
+ require 'less'
8
+
metadata ADDED
@@ -0,0 +1,159 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: lesslateral
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.2.21
5
+ platform: ruby
6
+ authors:
7
+ - cloudhead
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+
12
+ date: 2010-01-13 00:00:00 +00:00
13
+ default_executable: lessc
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: treetop
17
+ type: :runtime
18
+ version_requirement:
19
+ version_requirements: !ruby/object:Gem::Requirement
20
+ requirements:
21
+ - - ">="
22
+ - !ruby/object:Gem::Version
23
+ version: 1.4.2
24
+ version:
25
+ - !ruby/object:Gem::Dependency
26
+ name: mutter
27
+ type: :runtime
28
+ version_requirement:
29
+ version_requirements: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: 0.4.2
34
+ version:
35
+ description: LESS is leaner CSS
36
+ email: self@cloudhead.net
37
+ executables:
38
+ - lessc
39
+ extensions: []
40
+
41
+ extra_rdoc_files:
42
+ - LICENSE
43
+ - README.md
44
+ files:
45
+ - .gitignore
46
+ - CHANGELOG
47
+ - LICENSE
48
+ - README.md
49
+ - Rakefile
50
+ - VERSION
51
+ - bin/lessc
52
+ - less.gemspec
53
+ - lib/less.rb
54
+ - lib/less/command.rb
55
+ - lib/less/engine.rb
56
+ - lib/less/notification.rb
57
+ - lib/less/engine/grammar/common.tt
58
+ - lib/less/engine/grammar/entity.tt
59
+ - lib/less/engine/grammar/less.tt
60
+ - lib/less/engine/nodes.rb
61
+ - lib/less/engine/nodes/element.rb
62
+ - lib/less/engine/nodes/entity.rb
63
+ - lib/less/engine/nodes/function.rb
64
+ - lib/less/engine/nodes/literal.rb
65
+ - lib/less/engine/nodes/property.rb
66
+ - lib/less/engine/nodes/ruleset.rb
67
+ - lib/less/engine/nodes/selector.rb
68
+ - lib/less/ext.rb
69
+ - spec/command_spec.rb
70
+ - spec/css/accessors.css
71
+ - spec/css/big.css
72
+ - spec/css/colors.css
73
+ - spec/css/comments.css
74
+ - spec/css/css-3.css
75
+ - spec/css/css.css
76
+ - spec/css/dash-prefix.css
77
+ - spec/css/functions.css
78
+ - spec/css/import-with-extra-paths.css
79
+ - spec/css/import-with-partial-in-extra-path.css
80
+ - spec/css/import.css
81
+ - spec/css/lazy-eval.css
82
+ - spec/css/mixins-args.css
83
+ - spec/css/mixins.css
84
+ - spec/css/operations.css
85
+ - spec/css/parens.css
86
+ - spec/css/rulesets.css
87
+ - spec/css/scope.css
88
+ - spec/css/selectors.css
89
+ - spec/css/strings.css
90
+ - spec/css/variables.css
91
+ - spec/css/whitespace.css
92
+ - spec/engine_spec.rb
93
+ - spec/less/accessors.less
94
+ - spec/less/big.less
95
+ - spec/less/colors.less
96
+ - spec/less/comments.less
97
+ - spec/less/css-3.less
98
+ - spec/less/css.less
99
+ - spec/less/dash-prefix.less
100
+ - spec/less/exceptions/mixed-units-error.less
101
+ - spec/less/exceptions/name-error-1.0.less
102
+ - spec/less/exceptions/syntax-error-1.0.less
103
+ - spec/less/extra_import_path/extra.less
104
+ - spec/less/extra_import_path/import/import-test-a.css
105
+ - spec/less/extra_import_path/import/import-test-a.less
106
+ - spec/less/functions.less
107
+ - spec/less/hidden.less
108
+ - spec/less/import-with-extra-paths.less
109
+ - spec/less/import.less
110
+ - spec/less/import/import-test-a.less
111
+ - spec/less/import/import-test-b.less
112
+ - spec/less/import/import-test-c.less
113
+ - spec/less/import/import-test-d.css
114
+ - spec/less/lazy-eval.less
115
+ - spec/less/literal-css.less
116
+ - spec/less/mixins-args.less
117
+ - spec/less/mixins.less
118
+ - spec/less/operations.less
119
+ - spec/less/parens.less
120
+ - spec/less/rulesets.less
121
+ - spec/less/scope.less
122
+ - spec/less/selectors.less
123
+ - spec/less/strings.less
124
+ - spec/less/variables.less
125
+ - spec/less/whitespace.less
126
+ - spec/spec.css
127
+ - spec/spec_helper.rb
128
+ has_rdoc: true
129
+ homepage: http://www.lesscss.org
130
+ licenses: []
131
+
132
+ post_install_message:
133
+ rdoc_options:
134
+ - --charset=UTF-8
135
+ require_paths:
136
+ - lib
137
+ required_ruby_version: !ruby/object:Gem::Requirement
138
+ requirements:
139
+ - - ">="
140
+ - !ruby/object:Gem::Version
141
+ version: "0"
142
+ version:
143
+ required_rubygems_version: !ruby/object:Gem::Requirement
144
+ requirements:
145
+ - - ">="
146
+ - !ruby/object:Gem::Version
147
+ version: "0"
148
+ version:
149
+ requirements: []
150
+
151
+ rubyforge_project: less
152
+ rubygems_version: 1.3.5
153
+ signing_key:
154
+ specification_version: 3
155
+ summary: LESS compiler
156
+ test_files:
157
+ - spec/command_spec.rb
158
+ - spec/engine_spec.rb
159
+ - spec/spec_helper.rb