sass 3.3.0 → 3.4.25
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.
- checksums.yaml +4 -4
- data/.yardopts +3 -1
- data/CODE_OF_CONDUCT.md +10 -0
- data/CONTRIBUTING.md +148 -0
- data/MIT-LICENSE +1 -1
- data/README.md +76 -62
- data/Rakefile +104 -24
- data/VERSION +1 -1
- data/VERSION_DATE +1 -1
- data/VERSION_NAME +1 -1
- data/bin/sass +1 -1
- data/bin/scss +1 -1
- data/extra/sass-spec-ref.sh +32 -0
- data/extra/update_watch.rb +1 -1
- data/lib/sass/cache_stores/filesystem.rb +9 -5
- data/lib/sass/cache_stores/memory.rb +4 -5
- data/lib/sass/callbacks.rb +2 -2
- data/lib/sass/css.rb +12 -13
- data/lib/sass/deprecation.rb +55 -0
- data/lib/sass/engine.rb +106 -70
- data/lib/sass/environment.rb +39 -19
- data/lib/sass/error.rb +17 -20
- data/lib/sass/exec/base.rb +199 -0
- data/lib/sass/exec/sass_convert.rb +283 -0
- data/lib/sass/exec/sass_scss.rb +440 -0
- data/lib/sass/exec.rb +5 -771
- data/lib/sass/features.rb +9 -2
- data/lib/sass/importers/base.rb +8 -3
- data/lib/sass/importers/filesystem.rb +30 -38
- data/lib/sass/logger/base.rb +8 -2
- data/lib/sass/logger/delayed.rb +50 -0
- data/lib/sass/logger.rb +8 -3
- data/lib/sass/media.rb +1 -4
- data/lib/sass/plugin/compiler.rb +224 -90
- data/lib/sass/plugin/configuration.rb +38 -22
- data/lib/sass/plugin/merb.rb +2 -2
- data/lib/sass/plugin/rack.rb +3 -3
- data/lib/sass/plugin/rails.rb +1 -1
- data/lib/sass/plugin/staleness_checker.rb +4 -4
- data/lib/sass/plugin.rb +6 -5
- data/lib/sass/script/css_lexer.rb +1 -1
- data/lib/sass/script/css_parser.rb +2 -3
- data/lib/sass/script/css_variable_warning.rb +52 -0
- data/lib/sass/script/functions.rb +739 -318
- data/lib/sass/script/lexer.rb +134 -54
- data/lib/sass/script/parser.rb +252 -56
- data/lib/sass/script/tree/funcall.rb +13 -6
- data/lib/sass/script/tree/interpolation.rb +127 -4
- data/lib/sass/script/tree/list_literal.rb +31 -4
- data/lib/sass/script/tree/literal.rb +4 -0
- data/lib/sass/script/tree/node.rb +21 -3
- data/lib/sass/script/tree/operation.rb +54 -1
- data/lib/sass/script/tree/selector.rb +26 -0
- data/lib/sass/script/tree/string_interpolation.rb +59 -38
- data/lib/sass/script/tree/variable.rb +1 -1
- data/lib/sass/script/tree.rb +1 -0
- data/lib/sass/script/value/base.rb +17 -14
- data/lib/sass/script/value/bool.rb +0 -5
- data/lib/sass/script/value/color.rb +78 -42
- data/lib/sass/script/value/helpers.rb +119 -2
- data/lib/sass/script/value/list.rb +0 -15
- data/lib/sass/script/value/map.rb +1 -1
- data/lib/sass/script/value/null.rb +0 -5
- data/lib/sass/script/value/number.rb +112 -31
- data/lib/sass/script/value/string.rb +102 -13
- data/lib/sass/script/value.rb +0 -1
- data/lib/sass/script.rb +3 -3
- data/lib/sass/scss/css_parser.rb +24 -4
- data/lib/sass/scss/parser.rb +290 -383
- data/lib/sass/scss/rx.rb +17 -9
- data/lib/sass/scss/static_parser.rb +306 -4
- data/lib/sass/scss.rb +0 -2
- data/lib/sass/selector/abstract_sequence.rb +35 -18
- data/lib/sass/selector/comma_sequence.rb +114 -19
- data/lib/sass/selector/pseudo.rb +266 -0
- data/lib/sass/selector/sequence.rb +146 -40
- data/lib/sass/selector/simple.rb +22 -33
- data/lib/sass/selector/simple_sequence.rb +122 -39
- data/lib/sass/selector.rb +57 -197
- data/lib/sass/shared.rb +2 -2
- data/lib/sass/source/map.rb +31 -14
- data/lib/sass/source/position.rb +4 -4
- data/lib/sass/stack.rb +2 -8
- data/lib/sass/supports.rb +10 -13
- data/lib/sass/tree/at_root_node.rb +1 -0
- data/lib/sass/tree/charset_node.rb +1 -1
- data/lib/sass/tree/comment_node.rb +1 -1
- data/lib/sass/tree/css_import_node.rb +9 -1
- data/lib/sass/tree/directive_node.rb +8 -2
- data/lib/sass/tree/error_node.rb +18 -0
- data/lib/sass/tree/extend_node.rb +1 -1
- data/lib/sass/tree/function_node.rb +9 -0
- data/lib/sass/tree/import_node.rb +6 -5
- data/lib/sass/tree/keyframe_rule_node.rb +15 -0
- data/lib/sass/tree/node.rb +5 -3
- data/lib/sass/tree/prop_node.rb +6 -7
- data/lib/sass/tree/rule_node.rb +26 -11
- data/lib/sass/tree/visitors/check_nesting.rb +56 -32
- data/lib/sass/tree/visitors/convert.rb +59 -44
- data/lib/sass/tree/visitors/cssize.rb +34 -30
- data/lib/sass/tree/visitors/deep_copy.rb +6 -1
- data/lib/sass/tree/visitors/extend.rb +15 -13
- data/lib/sass/tree/visitors/perform.rb +87 -50
- data/lib/sass/tree/visitors/set_options.rb +15 -1
- data/lib/sass/tree/visitors/to_css.rb +72 -43
- data/lib/sass/util/multibyte_string_scanner.rb +0 -2
- data/lib/sass/util/normalized_map.rb +0 -1
- data/lib/sass/util/subset_map.rb +2 -3
- data/lib/sass/util.rb +334 -154
- data/lib/sass/version.rb +7 -7
- data/lib/sass.rb +10 -8
- data/test/sass/cache_test.rb +62 -20
- data/test/sass/callbacks_test.rb +1 -1
- data/test/sass/compiler_test.rb +24 -11
- data/test/sass/conversion_test.rb +241 -50
- data/test/sass/css2sass_test.rb +73 -5
- data/test/sass/css_variable_test.rb +132 -0
- data/test/sass/encoding_test.rb +219 -0
- data/test/sass/engine_test.rb +343 -260
- data/test/sass/exec_test.rb +12 -2
- data/test/sass/extend_test.rb +333 -44
- data/test/sass/functions_test.rb +353 -260
- data/test/sass/importer_test.rb +40 -21
- data/test/sass/logger_test.rb +1 -1
- data/test/sass/more_results/more_import.css +1 -1
- data/test/sass/more_templates/more1.sass +10 -10
- data/test/sass/more_templates/more_import.sass +2 -2
- data/test/sass/plugin_test.rb +24 -21
- data/test/sass/results/compact.css +1 -1
- data/test/sass/results/complex.css +4 -4
- data/test/sass/results/expanded.css +1 -1
- data/test/sass/results/import.css +1 -1
- data/test/sass/results/import_charset_ibm866.css +2 -2
- data/test/sass/results/mixins.css +17 -17
- data/test/sass/results/nested.css +1 -1
- data/test/sass/results/parent_ref.css +2 -2
- data/test/sass/results/script.css +5 -5
- data/test/sass/results/scss_import.css +1 -1
- data/test/sass/script_conversion_test.rb +71 -39
- data/test/sass/script_test.rb +714 -123
- data/test/sass/scss/css_test.rb +213 -30
- data/test/sass/scss/rx_test.rb +8 -4
- data/test/sass/scss/scss_test.rb +766 -22
- data/test/sass/source_map_test.rb +263 -95
- data/test/sass/superselector_test.rb +210 -0
- data/test/sass/templates/_partial.sass +1 -1
- data/test/sass/templates/basic.sass +10 -10
- data/test/sass/templates/bork1.sass +1 -1
- data/test/sass/templates/bork5.sass +1 -1
- data/test/sass/templates/compact.sass +10 -10
- data/test/sass/templates/complex.sass +187 -187
- data/test/sass/templates/compressed.sass +10 -10
- data/test/sass/templates/expanded.sass +10 -10
- data/test/sass/templates/import.sass +2 -2
- data/test/sass/templates/importee.sass +3 -3
- data/test/sass/templates/mixins.sass +22 -22
- data/test/sass/templates/multiline.sass +4 -4
- data/test/sass/templates/nested.sass +13 -13
- data/test/sass/templates/parent_ref.sass +12 -12
- data/test/sass/templates/script.sass +70 -70
- data/test/sass/templates/scss_import.scss +2 -1
- data/test/sass/templates/subdir/nested_subdir/_nested_partial.sass +1 -1
- data/test/sass/templates/subdir/nested_subdir/nested_subdir.sass +2 -2
- data/test/sass/templates/subdir/subdir.sass +3 -3
- data/test/sass/templates/units.sass +10 -10
- data/test/sass/test_helper.rb +1 -1
- data/test/sass/util/multibyte_string_scanner_test.rb +11 -3
- data/test/sass/util/normalized_map_test.rb +1 -1
- data/test/sass/util/subset_map_test.rb +2 -2
- data/test/sass/util_test.rb +46 -45
- data/test/sass/value_helpers_test.rb +5 -7
- data/test/sass-spec.yml +3 -0
- data/test/test_helper.rb +7 -6
- data/vendor/listen/CHANGELOG.md +1 -228
- data/vendor/listen/Gemfile +5 -15
- data/vendor/listen/README.md +111 -77
- data/vendor/listen/Rakefile +0 -42
- data/vendor/listen/lib/listen/adapter.rb +195 -82
- data/vendor/listen/lib/listen/adapters/bsd.rb +27 -64
- data/vendor/listen/lib/listen/adapters/darwin.rb +21 -58
- data/vendor/listen/lib/listen/adapters/linux.rb +23 -55
- data/vendor/listen/lib/listen/adapters/polling.rb +25 -34
- data/vendor/listen/lib/listen/adapters/windows.rb +50 -46
- data/vendor/listen/lib/listen/directory_record.rb +96 -61
- data/vendor/listen/lib/listen/listener.rb +135 -37
- data/vendor/listen/lib/listen/turnstile.rb +9 -5
- data/vendor/listen/lib/listen/version.rb +1 -1
- data/vendor/listen/lib/listen.rb +33 -19
- data/vendor/listen/listen.gemspec +6 -0
- data/vendor/listen/spec/listen/adapter_spec.rb +43 -77
- data/vendor/listen/spec/listen/adapters/polling_spec.rb +8 -8
- data/vendor/listen/spec/listen/directory_record_spec.rb +81 -56
- data/vendor/listen/spec/listen/listener_spec.rb +128 -39
- data/vendor/listen/spec/listen_spec.rb +15 -21
- data/vendor/listen/spec/spec_helper.rb +4 -0
- data/vendor/listen/spec/support/adapter_helper.rb +52 -15
- data/vendor/listen/spec/support/directory_record_helper.rb +7 -5
- data/vendor/listen/spec/support/listeners_helper.rb +30 -7
- metadata +310 -300
- data/CONTRIBUTING +0 -3
- data/ext/mkrf_conf.rb +0 -27
- data/lib/sass/script/value/deprecated_false.rb +0 -55
- data/lib/sass/scss/script_lexer.rb +0 -15
- data/lib/sass/scss/script_parser.rb +0 -25
- data/vendor/listen/lib/listen/dependency_manager.rb +0 -126
- data/vendor/listen/lib/listen/multi_listener.rb +0 -143
- data/vendor/listen/spec/listen/dependency_manager_spec.rb +0 -107
- data/vendor/listen/spec/listen/multi_listener_spec.rb +0 -174
@@ -0,0 +1,210 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
require File.dirname(__FILE__) + '/../test_helper'
|
3
|
+
|
4
|
+
class SuperselectorTest < MiniTest::Test
|
5
|
+
def test_superselector_reflexivity
|
6
|
+
assert_superselector 'h1', 'h1'
|
7
|
+
assert_superselector '.foo', '.foo'
|
8
|
+
assert_superselector '#foo > .bar, baz', '#foo > .bar, baz'
|
9
|
+
end
|
10
|
+
|
11
|
+
def test_smaller_compound_superselector
|
12
|
+
assert_strict_superselector '.foo', '.foo.bar'
|
13
|
+
assert_strict_superselector '.bar', '.foo.bar'
|
14
|
+
assert_strict_superselector 'a', 'a#b'
|
15
|
+
assert_strict_superselector '#b', 'a#b'
|
16
|
+
end
|
17
|
+
|
18
|
+
def test_smaller_complex_superselector
|
19
|
+
assert_strict_superselector '.bar', '.foo .bar'
|
20
|
+
assert_strict_superselector '.bar', '.foo > .bar'
|
21
|
+
assert_strict_superselector '.bar', '.foo + .bar'
|
22
|
+
assert_strict_superselector '.bar', '.foo ~ .bar'
|
23
|
+
end
|
24
|
+
|
25
|
+
def test_selector_list_subset_superselector
|
26
|
+
assert_strict_superselector '.foo, .bar', '.foo'
|
27
|
+
assert_strict_superselector '.foo, .bar, .baz', '.foo, .baz'
|
28
|
+
assert_strict_superselector '.foo, .baz, .qux', '.foo.bar, .baz.bang'
|
29
|
+
end
|
30
|
+
|
31
|
+
def test_leading_combinator_superselector
|
32
|
+
refute_superselector '+ .foo', '.foo'
|
33
|
+
refute_superselector '+ .foo', '.bar + .foo'
|
34
|
+
end
|
35
|
+
|
36
|
+
def test_trailing_combinator_superselector
|
37
|
+
refute_superselector '.foo +', '.foo'
|
38
|
+
refute_superselector '.foo +', '.foo + .bar'
|
39
|
+
end
|
40
|
+
|
41
|
+
def test_matching_combinator_superselector
|
42
|
+
assert_strict_superselector '.foo + .bar', '.foo + .bar.baz'
|
43
|
+
assert_strict_superselector '.foo + .bar', '.foo.baz + .bar'
|
44
|
+
assert_strict_superselector '.foo > .bar', '.foo > .bar.baz'
|
45
|
+
assert_strict_superselector '.foo > .bar', '.foo.baz > .bar'
|
46
|
+
assert_strict_superselector '.foo ~ .bar', '.foo ~ .bar.baz'
|
47
|
+
assert_strict_superselector '.foo ~ .bar', '.foo.baz ~ .bar'
|
48
|
+
end
|
49
|
+
|
50
|
+
def test_following_sibling_is_superselector_of_next_sibling
|
51
|
+
assert_strict_superselector '.foo ~ .bar', '.foo + .bar.baz'
|
52
|
+
assert_strict_superselector '.foo ~ .bar', '.foo.baz + .bar'
|
53
|
+
end
|
54
|
+
|
55
|
+
def test_descendant_is_superselector_of_child
|
56
|
+
assert_strict_superselector '.foo .bar', '.foo > .bar.baz'
|
57
|
+
assert_strict_superselector '.foo .bar', '.foo.baz > .bar'
|
58
|
+
assert_strict_superselector '.foo .baz', '.foo > .bar > .baz'
|
59
|
+
end
|
60
|
+
|
61
|
+
def test_child_isnt_superselector_of_longer_child
|
62
|
+
refute_superselector '.foo > .baz', '.foo > .bar > .baz'
|
63
|
+
refute_superselector '.foo > .baz', '.foo > .bar .baz'
|
64
|
+
end
|
65
|
+
|
66
|
+
def test_following_sibling_isnt_superselector_of_longer_following_sibling
|
67
|
+
refute_superselector '.foo + .baz', '.foo + .bar + .baz'
|
68
|
+
refute_superselector '.foo + .baz', '.foo + .bar .baz'
|
69
|
+
end
|
70
|
+
|
71
|
+
def test_sibling_isnt_superselector_of_longer_sibling
|
72
|
+
# This actually is a superselector, but it's a very narrow edge case and
|
73
|
+
# detecting it is very difficult and may be exponential in the worst case.
|
74
|
+
refute_superselector '.foo ~ .baz', '.foo ~ .bar ~ .baz'
|
75
|
+
|
76
|
+
refute_superselector '.foo ~ .baz', '.foo ~ .bar .baz'
|
77
|
+
end
|
78
|
+
|
79
|
+
def test_matches_is_superselector_of_constituent_selectors
|
80
|
+
%w[matches -moz-any].each do |name|
|
81
|
+
assert_strict_superselector ":#{name}(.foo, .bar)", '.foo.baz'
|
82
|
+
assert_strict_superselector ":#{name}(.foo, .bar)", '.bar.baz'
|
83
|
+
assert_strict_superselector ":#{name}(.foo .bar, .baz)", '.x .foo .bar'
|
84
|
+
end
|
85
|
+
end
|
86
|
+
|
87
|
+
def test_matches_is_superselector_of_subset_matches
|
88
|
+
assert_strict_superselector ':matches(.foo, .bar, .baz)', '#x:matches(.foo.bip, .baz.bang)'
|
89
|
+
assert_strict_superselector ':-moz-any(.foo, .bar, .baz)', '#x:-moz-any(.foo.bip, .baz.bang)'
|
90
|
+
end
|
91
|
+
|
92
|
+
def test_matches_is_not_superselector_of_any
|
93
|
+
refute_superselector ':matches(.foo, .bar)', ':-moz-any(.foo, .bar)'
|
94
|
+
refute_superselector ':-moz-any(.foo, .bar)', ':matches(.foo, .bar)'
|
95
|
+
end
|
96
|
+
|
97
|
+
def test_matches_can_be_subselector
|
98
|
+
%w[matches -moz-any].each do |name|
|
99
|
+
assert_superselector '.foo', ":#{name}(.foo.bar)"
|
100
|
+
assert_superselector '.foo.bar', ":#{name}(.foo.bar.baz)"
|
101
|
+
assert_superselector '.foo', ":#{name}(.foo.bar, .foo.baz)"
|
102
|
+
end
|
103
|
+
end
|
104
|
+
|
105
|
+
def test_any_is_not_superselector_of_different_prefix
|
106
|
+
refute_superselector ':-moz-any(.foo, .bar)', ':-s-any(.foo, .bar)'
|
107
|
+
end
|
108
|
+
|
109
|
+
def test_not_is_superselector_of_less_complex_not
|
110
|
+
assert_strict_superselector ':not(.foo.bar)', ':not(.foo)'
|
111
|
+
assert_strict_superselector ':not(.foo .bar)', ':not(.bar)'
|
112
|
+
end
|
113
|
+
|
114
|
+
def test_not_is_superselector_of_superset
|
115
|
+
assert_strict_superselector ':not(.foo.bip, .baz.bang)', ':not(.foo, .bar, .baz)'
|
116
|
+
assert_strict_superselector ':not(.foo.bip, .baz.bang)', ':not(.foo):not(.bar):not(.baz)'
|
117
|
+
end
|
118
|
+
|
119
|
+
def test_not_is_superselector_of_unique_selectors
|
120
|
+
assert_strict_superselector ':not(h1.foo)', 'a'
|
121
|
+
assert_strict_superselector ':not(.baz #foo)', '#bar'
|
122
|
+
end
|
123
|
+
|
124
|
+
def test_not_is_not_superselector_of_non_unique_selectors
|
125
|
+
refute_superselector ':not(.foo)', '.bar'
|
126
|
+
refute_superselector ':not(:hover)', ':visited'
|
127
|
+
end
|
128
|
+
|
129
|
+
def test_current_is_superselector_with_identical_innards
|
130
|
+
assert_superselector ':current(.foo)', ':current(.foo)'
|
131
|
+
end
|
132
|
+
|
133
|
+
def test_current_is_superselector_with_subselector_innards
|
134
|
+
refute_superselector ':current(.foo)', ':current(.foo.bar)'
|
135
|
+
refute_superselector ':current(.foo.bar)', ':current(.foo)'
|
136
|
+
end
|
137
|
+
|
138
|
+
def test_nth_match_is_superselector_of_subset_nth_match
|
139
|
+
assert_strict_superselector(
|
140
|
+
':nth-child(2n of .foo, .bar, .baz)', '#x:nth-child(2n of .foo.bip, .baz.bang)')
|
141
|
+
assert_strict_superselector(
|
142
|
+
':nth-last-child(2n of .foo, .bar, .baz)', '#x:nth-last-child(2n of .foo.bip, .baz.bang)')
|
143
|
+
end
|
144
|
+
|
145
|
+
def test_nth_match_is_not_superselector_of_nth_match_with_different_arg
|
146
|
+
refute_superselector(
|
147
|
+
':nth-child(2n of .foo, .bar, .baz)', '#x:nth-child(2n + 1 of .foo.bip, .baz.bang)')
|
148
|
+
refute_superselector(
|
149
|
+
':nth-last-child(2n of .foo, .bar, .baz)', '#x:nth-last-child(2n + 1 of .foo.bip, .baz.bang)')
|
150
|
+
end
|
151
|
+
|
152
|
+
def test_nth_match_is_not_superselector_of_nth_last_match
|
153
|
+
refute_superselector ':nth-child(2n of .foo, .bar)', ':nth-last-child(2n of .foo, .bar)'
|
154
|
+
refute_superselector ':nth-last-child(2n of .foo, .bar)', ':nth-child(2n of .foo, .bar)'
|
155
|
+
end
|
156
|
+
|
157
|
+
def test_nth_match_can_be_subselector
|
158
|
+
%w[nth-child nth-last-child].each do |name|
|
159
|
+
assert_superselector '.foo', ":#{name}(2n of .foo.bar)"
|
160
|
+
assert_superselector '.foo.bar', ":#{name}(2n of .foo.bar.baz)"
|
161
|
+
assert_superselector '.foo', ":#{name}(2n of .foo.bar, .foo.baz)"
|
162
|
+
end
|
163
|
+
end
|
164
|
+
|
165
|
+
def has_is_superselector_of_subset_host
|
166
|
+
assert_strict_superselector ':has(.foo, .bar, .baz)', ':has(.foo.bip, .baz.bang)'
|
167
|
+
end
|
168
|
+
|
169
|
+
def has_isnt_superselector_of_contained_selector
|
170
|
+
assert_strict_superselector ':has(.foo, .bar, .baz)', '.foo'
|
171
|
+
end
|
172
|
+
|
173
|
+
def host_is_superselector_of_subset_host
|
174
|
+
assert_strict_superselector ':host(.foo, .bar, .baz)', ':host(.foo.bip, .baz.bang)'
|
175
|
+
end
|
176
|
+
|
177
|
+
def host_isnt_superselector_of_contained_selector
|
178
|
+
assert_strict_superselector ':host(.foo, .bar, .baz)', '.foo'
|
179
|
+
end
|
180
|
+
|
181
|
+
def host_context_is_superselector_of_subset_host
|
182
|
+
assert_strict_superselector(
|
183
|
+
':host-context(.foo, .bar, .baz)', ':host-context(.foo.bip, .baz.bang)')
|
184
|
+
end
|
185
|
+
|
186
|
+
def host_context_isnt_superselector_of_contained_selector
|
187
|
+
assert_strict_superselector ':host-context(.foo, .bar, .baz)', '.foo'
|
188
|
+
end
|
189
|
+
|
190
|
+
private
|
191
|
+
|
192
|
+
def assert_superselector(superselector, subselector)
|
193
|
+
assert(parse_selector(superselector).superselector?(parse_selector(subselector)),
|
194
|
+
"Expected #{superselector} to be a superselector of #{subselector}.")
|
195
|
+
end
|
196
|
+
|
197
|
+
def refute_superselector(superselector, subselector)
|
198
|
+
assert(!parse_selector(superselector).superselector?(parse_selector(subselector)),
|
199
|
+
"Expected #{superselector} not to be a superselector of #{subselector}.")
|
200
|
+
end
|
201
|
+
|
202
|
+
def assert_strict_superselector(superselector, subselector)
|
203
|
+
assert_superselector(superselector, subselector)
|
204
|
+
refute_superselector(subselector, superselector)
|
205
|
+
end
|
206
|
+
|
207
|
+
def parse_selector(selector)
|
208
|
+
Sass::SCSS::CssParser.new(selector, filename_for_test, nil).parse_selector
|
209
|
+
end
|
210
|
+
end
|
@@ -1,2 +1,2 @@
|
|
1
1
|
#foo
|
2
|
-
|
2
|
+
background-color: #baf
|
@@ -1,23 +1,23 @@
|
|
1
1
|
|
2
2
|
|
3
3
|
body
|
4
|
-
:
|
5
|
-
:
|
4
|
+
font: Arial
|
5
|
+
background: blue
|
6
6
|
|
7
7
|
#page
|
8
|
-
:
|
9
|
-
:
|
8
|
+
width: 700px
|
9
|
+
height: 100
|
10
10
|
#header
|
11
|
-
:
|
11
|
+
height: 300px
|
12
12
|
h1
|
13
|
-
|
14
|
-
:
|
13
|
+
font-size: 50px
|
14
|
+
color: blue
|
15
15
|
|
16
16
|
#content.user.show
|
17
17
|
#container.top
|
18
18
|
#column.left
|
19
|
-
:
|
19
|
+
width: 100px
|
20
20
|
#column.right
|
21
|
-
:
|
21
|
+
width: 600px
|
22
22
|
#container.bottom
|
23
|
-
:
|
23
|
+
background: brown
|
@@ -1,2 +1,2 @@
|
|
1
1
|
bork
|
2
|
-
:
|
2
|
+
bork: $bork
|
@@ -1,17 +1,17 @@
|
|
1
1
|
#main
|
2
|
-
:
|
3
|
-
:
|
2
|
+
width: 15em
|
3
|
+
color: #0000ff
|
4
4
|
p
|
5
|
-
:
|
6
|
-
:
|
5
|
+
border:
|
6
|
+
style: dotted
|
7
7
|
/* Nested comment
|
8
8
|
More nested stuff
|
9
|
-
:
|
9
|
+
width: 2px
|
10
10
|
.cool
|
11
|
-
:
|
11
|
+
width: 100px
|
12
12
|
|
13
13
|
#left
|
14
|
-
:
|
15
|
-
:
|
16
|
-
:
|
17
|
-
:
|
14
|
+
font:
|
15
|
+
size: 2em
|
16
|
+
weight: bold
|
17
|
+
float: left
|