lesslateral 1.2.21

Sign up to get free protection for your applications and to get access to all the features.
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