lesslateral 1.2.21
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +4 -0
- data/CHANGELOG +62 -0
- data/LICENSE +179 -0
- data/README.md +48 -0
- data/Rakefile +52 -0
- data/VERSION +1 -0
- data/bin/lessc +103 -0
- data/less.gemspec +134 -0
- data/lib/less.rb +36 -0
- data/lib/less/command.rb +108 -0
- data/lib/less/engine.rb +52 -0
- data/lib/less/engine/grammar/common.tt +29 -0
- data/lib/less/engine/grammar/entity.tt +144 -0
- data/lib/less/engine/grammar/less.tt +341 -0
- data/lib/less/engine/nodes.rb +9 -0
- data/lib/less/engine/nodes/element.rb +281 -0
- data/lib/less/engine/nodes/entity.rb +79 -0
- data/lib/less/engine/nodes/function.rb +93 -0
- data/lib/less/engine/nodes/literal.rb +171 -0
- data/lib/less/engine/nodes/property.rb +232 -0
- data/lib/less/engine/nodes/ruleset.rb +12 -0
- data/lib/less/engine/nodes/selector.rb +44 -0
- data/lib/less/ext.rb +60 -0
- data/lib/less/notification.rb +59 -0
- data/spec/command_spec.rb +102 -0
- data/spec/css/accessors.css +18 -0
- data/spec/css/big.css +3768 -0
- data/spec/css/colors.css +14 -0
- data/spec/css/comments.css +9 -0
- data/spec/css/css-3.css +21 -0
- data/spec/css/css.css +50 -0
- data/spec/css/dash-prefix.css +12 -0
- data/spec/css/functions.css +6 -0
- data/spec/css/import-with-extra-paths.css +8 -0
- data/spec/css/import-with-partial-in-extra-path.css +6 -0
- data/spec/css/import.css +12 -0
- data/spec/css/lazy-eval.css +1 -0
- data/spec/css/mixins-args.css +32 -0
- data/spec/css/mixins.css +28 -0
- data/spec/css/operations.css +28 -0
- data/spec/css/parens.css +20 -0
- data/spec/css/rulesets.css +17 -0
- data/spec/css/scope.css +11 -0
- data/spec/css/selectors.css +13 -0
- data/spec/css/strings.css +12 -0
- data/spec/css/variables.css +8 -0
- data/spec/css/whitespace.css +7 -0
- data/spec/engine_spec.rb +127 -0
- data/spec/less/accessors.less +20 -0
- data/spec/less/big.less +1264 -0
- data/spec/less/colors.less +35 -0
- data/spec/less/comments.less +46 -0
- data/spec/less/css-3.less +52 -0
- data/spec/less/css.less +104 -0
- data/spec/less/dash-prefix.less +21 -0
- data/spec/less/exceptions/mixed-units-error.less +3 -0
- data/spec/less/exceptions/name-error-1.0.less +3 -0
- data/spec/less/exceptions/syntax-error-1.0.less +3 -0
- data/spec/less/extra_import_path/extra.less +1 -0
- data/spec/less/extra_import_path/import/import-test-a.css +1 -0
- data/spec/less/extra_import_path/import/import-test-a.less +4 -0
- data/spec/less/functions.less +6 -0
- data/spec/less/hidden.less +25 -0
- data/spec/less/import-with-extra-paths.less +4 -0
- data/spec/less/import.less +8 -0
- data/spec/less/import/import-test-a.less +2 -0
- data/spec/less/import/import-test-b.less +8 -0
- data/spec/less/import/import-test-c.less +7 -0
- data/spec/less/import/import-test-d.css +1 -0
- data/spec/less/lazy-eval.less +6 -0
- data/spec/less/literal-css.less +11 -0
- data/spec/less/mixins-args.less +59 -0
- data/spec/less/mixins.less +43 -0
- data/spec/less/operations.less +39 -0
- data/spec/less/parens.less +26 -0
- data/spec/less/rulesets.less +30 -0
- data/spec/less/scope.less +32 -0
- data/spec/less/selectors.less +24 -0
- data/spec/less/strings.less +14 -0
- data/spec/less/variables.less +29 -0
- data/spec/less/whitespace.less +34 -0
- data/spec/spec.css +50 -0
- data/spec/spec_helper.rb +8 -0
- 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
|
+
}
|
data/spec/spec_helper.rb
ADDED
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
|