drnic-haml 2.3.0

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 (190) hide show
  1. data/.yardopts +5 -0
  2. data/CONTRIBUTING +4 -0
  3. data/MIT-LICENSE +20 -0
  4. data/README.md +347 -0
  5. data/REVISION +1 -0
  6. data/Rakefile +371 -0
  7. data/VERSION +1 -0
  8. data/VERSION_NAME +1 -0
  9. data/bin/css2sass +7 -0
  10. data/bin/haml +9 -0
  11. data/bin/html2haml +7 -0
  12. data/bin/sass +8 -0
  13. data/extra/haml-mode.el +663 -0
  14. data/extra/sass-mode.el +205 -0
  15. data/extra/update_watch.rb +13 -0
  16. data/init.rb +8 -0
  17. data/lib/haml.rb +40 -0
  18. data/lib/haml/buffer.rb +307 -0
  19. data/lib/haml/engine.rb +301 -0
  20. data/lib/haml/error.rb +22 -0
  21. data/lib/haml/exec.rb +470 -0
  22. data/lib/haml/filters.rb +341 -0
  23. data/lib/haml/helpers.rb +560 -0
  24. data/lib/haml/helpers/action_view_extensions.rb +40 -0
  25. data/lib/haml/helpers/action_view_mods.rb +176 -0
  26. data/lib/haml/herb.rb +96 -0
  27. data/lib/haml/html.rb +308 -0
  28. data/lib/haml/precompiler.rb +997 -0
  29. data/lib/haml/shared.rb +78 -0
  30. data/lib/haml/template.rb +51 -0
  31. data/lib/haml/template/patch.rb +58 -0
  32. data/lib/haml/template/plugin.rb +71 -0
  33. data/lib/haml/util.rb +244 -0
  34. data/lib/haml/version.rb +64 -0
  35. data/lib/sass.rb +24 -0
  36. data/lib/sass/css.rb +423 -0
  37. data/lib/sass/engine.rb +491 -0
  38. data/lib/sass/environment.rb +79 -0
  39. data/lib/sass/error.rb +162 -0
  40. data/lib/sass/files.rb +133 -0
  41. data/lib/sass/plugin.rb +170 -0
  42. data/lib/sass/plugin/merb.rb +57 -0
  43. data/lib/sass/plugin/rails.rb +23 -0
  44. data/lib/sass/repl.rb +58 -0
  45. data/lib/sass/script.rb +55 -0
  46. data/lib/sass/script/bool.rb +17 -0
  47. data/lib/sass/script/color.rb +183 -0
  48. data/lib/sass/script/funcall.rb +50 -0
  49. data/lib/sass/script/functions.rb +199 -0
  50. data/lib/sass/script/lexer.rb +191 -0
  51. data/lib/sass/script/literal.rb +177 -0
  52. data/lib/sass/script/node.rb +14 -0
  53. data/lib/sass/script/number.rb +381 -0
  54. data/lib/sass/script/operation.rb +45 -0
  55. data/lib/sass/script/parser.rb +222 -0
  56. data/lib/sass/script/string.rb +12 -0
  57. data/lib/sass/script/unary_operation.rb +34 -0
  58. data/lib/sass/script/variable.rb +31 -0
  59. data/lib/sass/tree/comment_node.rb +84 -0
  60. data/lib/sass/tree/debug_node.rb +30 -0
  61. data/lib/sass/tree/directive_node.rb +70 -0
  62. data/lib/sass/tree/for_node.rb +48 -0
  63. data/lib/sass/tree/if_node.rb +54 -0
  64. data/lib/sass/tree/import_node.rb +69 -0
  65. data/lib/sass/tree/mixin_def_node.rb +29 -0
  66. data/lib/sass/tree/mixin_node.rb +48 -0
  67. data/lib/sass/tree/node.rb +252 -0
  68. data/lib/sass/tree/prop_node.rb +106 -0
  69. data/lib/sass/tree/root_node.rb +56 -0
  70. data/lib/sass/tree/rule_node.rb +220 -0
  71. data/lib/sass/tree/variable_node.rb +34 -0
  72. data/lib/sass/tree/while_node.rb +31 -0
  73. data/rails/init.rb +1 -0
  74. data/test/benchmark.rb +99 -0
  75. data/test/haml/engine_test.rb +1129 -0
  76. data/test/haml/helper_test.rb +282 -0
  77. data/test/haml/html2haml_test.rb +258 -0
  78. data/test/haml/markaby/standard.mab +52 -0
  79. data/test/haml/mocks/article.rb +6 -0
  80. data/test/haml/results/content_for_layout.xhtml +12 -0
  81. data/test/haml/results/eval_suppressed.xhtml +9 -0
  82. data/test/haml/results/filters.xhtml +62 -0
  83. data/test/haml/results/helpers.xhtml +93 -0
  84. data/test/haml/results/helpful.xhtml +10 -0
  85. data/test/haml/results/just_stuff.xhtml +68 -0
  86. data/test/haml/results/list.xhtml +12 -0
  87. data/test/haml/results/nuke_inner_whitespace.xhtml +40 -0
  88. data/test/haml/results/nuke_outer_whitespace.xhtml +148 -0
  89. data/test/haml/results/original_engine.xhtml +20 -0
  90. data/test/haml/results/partial_layout.xhtml +5 -0
  91. data/test/haml/results/partials.xhtml +21 -0
  92. data/test/haml/results/render_layout.xhtml +3 -0
  93. data/test/haml/results/silent_script.xhtml +74 -0
  94. data/test/haml/results/standard.xhtml +162 -0
  95. data/test/haml/results/tag_parsing.xhtml +23 -0
  96. data/test/haml/results/very_basic.xhtml +5 -0
  97. data/test/haml/results/whitespace_handling.xhtml +89 -0
  98. data/test/haml/rhtml/_av_partial_1.rhtml +12 -0
  99. data/test/haml/rhtml/_av_partial_2.rhtml +8 -0
  100. data/test/haml/rhtml/action_view.rhtml +62 -0
  101. data/test/haml/rhtml/standard.rhtml +54 -0
  102. data/test/haml/spec_test.rb +44 -0
  103. data/test/haml/template_test.rb +217 -0
  104. data/test/haml/templates/_av_partial_1.haml +9 -0
  105. data/test/haml/templates/_av_partial_1_ugly.haml +9 -0
  106. data/test/haml/templates/_av_partial_2.haml +5 -0
  107. data/test/haml/templates/_av_partial_2_ugly.haml +5 -0
  108. data/test/haml/templates/_layout.erb +3 -0
  109. data/test/haml/templates/_layout_for_partial.haml +3 -0
  110. data/test/haml/templates/_partial.haml +8 -0
  111. data/test/haml/templates/_text_area.haml +3 -0
  112. data/test/haml/templates/action_view.haml +47 -0
  113. data/test/haml/templates/action_view_ugly.haml +47 -0
  114. data/test/haml/templates/breakage.haml +8 -0
  115. data/test/haml/templates/content_for_layout.haml +8 -0
  116. data/test/haml/templates/eval_suppressed.haml +11 -0
  117. data/test/haml/templates/filters.haml +66 -0
  118. data/test/haml/templates/helpers.haml +95 -0
  119. data/test/haml/templates/helpful.haml +11 -0
  120. data/test/haml/templates/just_stuff.haml +83 -0
  121. data/test/haml/templates/list.haml +12 -0
  122. data/test/haml/templates/nuke_inner_whitespace.haml +32 -0
  123. data/test/haml/templates/nuke_outer_whitespace.haml +144 -0
  124. data/test/haml/templates/original_engine.haml +17 -0
  125. data/test/haml/templates/partial_layout.haml +3 -0
  126. data/test/haml/templates/partialize.haml +1 -0
  127. data/test/haml/templates/partials.haml +12 -0
  128. data/test/haml/templates/render_layout.haml +2 -0
  129. data/test/haml/templates/silent_script.haml +40 -0
  130. data/test/haml/templates/standard.haml +42 -0
  131. data/test/haml/templates/standard_ugly.haml +42 -0
  132. data/test/haml/templates/tag_parsing.haml +21 -0
  133. data/test/haml/templates/very_basic.haml +4 -0
  134. data/test/haml/templates/whitespace_handling.haml +87 -0
  135. data/test/haml/util_test.rb +92 -0
  136. data/test/linked_rails.rb +12 -0
  137. data/test/sass/css2sass_test.rb +294 -0
  138. data/test/sass/engine_test.rb +956 -0
  139. data/test/sass/functions_test.rb +126 -0
  140. data/test/sass/more_results/more1.css +9 -0
  141. data/test/sass/more_results/more1_with_line_comments.css +26 -0
  142. data/test/sass/more_results/more_import.css +29 -0
  143. data/test/sass/more_templates/_more_partial.sass +2 -0
  144. data/test/sass/more_templates/more1.sass +23 -0
  145. data/test/sass/more_templates/more_import.sass +11 -0
  146. data/test/sass/plugin_test.rb +229 -0
  147. data/test/sass/results/alt.css +4 -0
  148. data/test/sass/results/basic.css +9 -0
  149. data/test/sass/results/compact.css +5 -0
  150. data/test/sass/results/complex.css +87 -0
  151. data/test/sass/results/compressed.css +1 -0
  152. data/test/sass/results/expanded.css +19 -0
  153. data/test/sass/results/import.css +29 -0
  154. data/test/sass/results/line_numbers.css +49 -0
  155. data/test/sass/results/mixins.css +95 -0
  156. data/test/sass/results/multiline.css +24 -0
  157. data/test/sass/results/nested.css +22 -0
  158. data/test/sass/results/parent_ref.css +13 -0
  159. data/test/sass/results/script.css +16 -0
  160. data/test/sass/results/subdir/nested_subdir/nested_subdir.css +1 -0
  161. data/test/sass/results/subdir/subdir.css +3 -0
  162. data/test/sass/results/units.css +11 -0
  163. data/test/sass/script_test.rb +261 -0
  164. data/test/sass/templates/_partial.sass +2 -0
  165. data/test/sass/templates/alt.sass +16 -0
  166. data/test/sass/templates/basic.sass +23 -0
  167. data/test/sass/templates/bork1.sass +2 -0
  168. data/test/sass/templates/bork2.sass +2 -0
  169. data/test/sass/templates/bork3.sass +2 -0
  170. data/test/sass/templates/compact.sass +17 -0
  171. data/test/sass/templates/complex.sass +307 -0
  172. data/test/sass/templates/compressed.sass +15 -0
  173. data/test/sass/templates/expanded.sass +17 -0
  174. data/test/sass/templates/import.sass +11 -0
  175. data/test/sass/templates/importee.sass +19 -0
  176. data/test/sass/templates/line_numbers.sass +13 -0
  177. data/test/sass/templates/mixins.sass +76 -0
  178. data/test/sass/templates/multiline.sass +20 -0
  179. data/test/sass/templates/nested.sass +25 -0
  180. data/test/sass/templates/nested_bork1.sass +2 -0
  181. data/test/sass/templates/nested_bork2.sass +2 -0
  182. data/test/sass/templates/nested_bork3.sass +2 -0
  183. data/test/sass/templates/parent_ref.sass +25 -0
  184. data/test/sass/templates/script.sass +101 -0
  185. data/test/sass/templates/subdir/nested_subdir/_nested_partial.sass +2 -0
  186. data/test/sass/templates/subdir/nested_subdir/nested_subdir.sass +3 -0
  187. data/test/sass/templates/subdir/subdir.sass +6 -0
  188. data/test/sass/templates/units.sass +11 -0
  189. data/test/test_helper.rb +44 -0
  190. metadata +298 -0
@@ -0,0 +1,2 @@
1
+ #foo
2
+ :background-color #baf
@@ -0,0 +1,16 @@
1
+ h1
2
+ :float left
3
+ :width 274px
4
+ height: 75px
5
+ margin: 0
6
+ background:
7
+ repeat: no-repeat
8
+ :image none
9
+ a:hover, a:visited
10
+ color: green
11
+ b:hover
12
+ color: red
13
+ :background-color green
14
+ const
15
+ nosp= 1 + 2
16
+ sp = 1 + 2
@@ -0,0 +1,23 @@
1
+
2
+
3
+ body
4
+ :font Arial
5
+ :background blue
6
+
7
+ #page
8
+ :width 700px
9
+ :height 100
10
+ #header
11
+ :height 300px
12
+ h1
13
+ :font-size 50px
14
+ :color blue
15
+
16
+ #content.user.show
17
+ #container.top
18
+ #column.left
19
+ :width 100px
20
+ #column.right
21
+ :width 600px
22
+ #container.bottom
23
+ :background brown
@@ -0,0 +1,2 @@
1
+ bork
2
+ :bork= !bork
@@ -0,0 +1,2 @@
1
+ bork
2
+ :bork: bork;
@@ -0,0 +1,2 @@
1
+ bork
2
+ bork:
@@ -0,0 +1,17 @@
1
+ #main
2
+ :width 15em
3
+ :color #0000ff
4
+ p
5
+ :border
6
+ :style dotted
7
+ /* Nested comment
8
+ More nested stuff
9
+ :width 2px
10
+ .cool
11
+ :width 100px
12
+
13
+ #left
14
+ :font
15
+ :size 2em
16
+ :weight bold
17
+ :float left
@@ -0,0 +1,307 @@
1
+ body
2
+ :margin 0
3
+ :font 0.85em "Lucida Grande", "Trebuchet MS", Verdana, sans-serif
4
+ :color #fff
5
+ :background url(/images/global_bg.gif)
6
+
7
+ #page
8
+ :width 900px
9
+ :margin 0 auto
10
+ :background #440008
11
+ :border-top
12
+ :width 5px
13
+ :style solid
14
+ :color #ff8500
15
+
16
+ #header
17
+ :height 75px
18
+ :padding 0
19
+ h1
20
+ :float left
21
+ :width 274px
22
+ :height 75px
23
+ :margin 0
24
+ :background
25
+ :image url(/images/global_logo.gif)
26
+ /* Crazy nested comment
27
+ :repeat no-repeat
28
+ :text-indent -9999px
29
+ .status
30
+ :float right
31
+ :padding
32
+ :top .5em
33
+ :left .5em
34
+ :right .5em
35
+ :bottom 0
36
+ p
37
+ :float left
38
+ :margin
39
+ :top 0
40
+ :right 0.5em
41
+ :bottom 0
42
+ :left 0
43
+ ul
44
+ :float left
45
+ :margin 0
46
+ :padding 0
47
+ li
48
+ :list-style-type none
49
+ :display inline
50
+ :margin 0 5px
51
+ a:link, a:visited
52
+ :color #ff8500
53
+ :text-decoration none
54
+ a:hover
55
+ :text-decoration underline
56
+ .search
57
+ :float right
58
+ :clear right
59
+ :margin 12px 0 0 0
60
+ form
61
+ :margin 0
62
+ input
63
+ :margin 0 3px 0 0
64
+ :padding 2px
65
+ :border none
66
+
67
+ #menu
68
+ :clear both
69
+ :text-align right
70
+ :height 20px
71
+ :border-bottom 5px solid #006b95
72
+ :background #00a4e4
73
+ .contests
74
+ ul
75
+ :margin 0 5px 0 0
76
+ :padding 0
77
+ li
78
+ :list-style-type none
79
+ :margin 0 5px
80
+ :padding 5px 5px 0 5px
81
+ :display inline
82
+ :font-size 1.1em
83
+ // This comment is properly indented
84
+ :color #fff
85
+ :background #00a4e4
86
+ / This rule isn't a comment!
87
+ :red green
88
+ a:link, a:visited
89
+ :color #fff
90
+ :text-decoration none
91
+ :font-weight bold
92
+ a:hover
93
+ :text-decoration underline
94
+
95
+ //General content information
96
+ #content
97
+ :clear both
98
+ .container
99
+ :clear both
100
+ .column
101
+ :float left
102
+ .right
103
+ :float right
104
+ a:link, a:visited
105
+ :color #93d700
106
+ :text-decoration none
107
+ a:hover
108
+ :text-decoration underline
109
+
110
+ // A hard tab:
111
+
112
+
113
+ #content
114
+ p, div
115
+ :width 40em
116
+ li, dt, dd
117
+ :color #ddffdd
118
+ :background-color #4792bb
119
+ .container.video
120
+ .column.left
121
+ :width 200px
122
+ .box
123
+ :margin-top 10px
124
+ p
125
+ :margin 0 1em auto 1em
126
+ .box.participants
127
+ img
128
+ :float left
129
+ :margin 0 1em auto 1em
130
+ :border 1px solid #6e000d
131
+ :style solid
132
+ h2
133
+ :margin 0 0 10px 0
134
+ :padding 0.5em
135
+ /* The background image is a gif!
136
+ :background #6e000d url(/images/hdr_participant.gif) 2px 2px no-repeat
137
+ /* Okay check this out
138
+ Multiline comments
139
+ Wow dude
140
+ I mean seriously, WOW
141
+ :text-indent -9999px
142
+ // And also...
143
+ Multiline comments that don't output!
144
+ Snazzy, no?
145
+ :border
146
+ :top
147
+ :width 5px
148
+ :style solid
149
+ :color #a20013
150
+ :right
151
+ :width 1px
152
+ :style dotted
153
+ .column.middle
154
+ :width 500px
155
+ .column.right
156
+ :width 200px
157
+ .box
158
+ :margin-top 0
159
+ p
160
+ :margin 0 1em auto 1em
161
+ .column
162
+ p
163
+ :margin-top 0
164
+
165
+ #content.contests
166
+ .container.information
167
+ .column.right
168
+ .box
169
+ :margin 1em 0
170
+ .box.videos
171
+ .thumbnail img
172
+ :width 200px
173
+ :height 150px
174
+ :margin-bottom 5px
175
+ a:link, a:visited
176
+ :color #93d700
177
+ :text-decoration none
178
+ a:hover
179
+ :text-decoration underline
180
+ .box.votes
181
+ a
182
+ :display block
183
+ :width 200px
184
+ :height 60px
185
+ :margin 15px 0
186
+ :background url(/images/btn_votenow.gif) no-repeat
187
+ :text-indent -9999px
188
+ :outline none
189
+ :border none
190
+ h2
191
+ :margin 52px 0 10px 0
192
+ :padding 0.5em
193
+ :background #6e000d url(/images/hdr_videostats.gif) 2px 2px no-repeat
194
+ :text-indent -9999px
195
+ :border-top 5px solid #a20013
196
+
197
+ #content.contests
198
+ .container.video
199
+ .box.videos
200
+ h2
201
+ :margin 0
202
+ :padding 0.5em
203
+ :background #6e000d url(/images/hdr_newestclips.gif) 2px 2px no-repeat
204
+ :text-indent -9999px
205
+ :border-top 5px solid #a20013
206
+ table
207
+ :width 100
208
+ td
209
+ :padding 1em
210
+ :width 25
211
+ :vertical-align top
212
+ p
213
+ :margin 0 0 5px 0
214
+ a:link, a:visited
215
+ :color #93d700
216
+ :text-decoration none
217
+ a:hover
218
+ :text-decoration underline
219
+ .thumbnail
220
+ :float left
221
+ img
222
+ :width 80px
223
+ :height 60px
224
+ :margin 0 10px 0 0
225
+ :border 1px solid #6e000d
226
+
227
+ #content
228
+ .container.comments
229
+ .column
230
+ :margin-top 15px
231
+ .column.left
232
+ :width 600px
233
+ .box
234
+ ol
235
+ :margin 0
236
+ :padding 0
237
+ li
238
+ :list-style-type none
239
+ :padding 10px
240
+ :margin 0 0 1em 0
241
+ :background #6e000d
242
+ :border-top 5px solid #a20013
243
+ div
244
+ :margin-bottom 1em
245
+ ul
246
+ :text-align right
247
+ li
248
+ :display inline
249
+ :border none
250
+ :padding 0
251
+ .column.right
252
+ :width 290px
253
+ :padding-left 10px
254
+ h2
255
+ :margin 0
256
+ :padding 0.5em
257
+ :background #6e000d url(/images/hdr_addcomment.gif) 2px 2px no-repeat
258
+ :text-indent -9999px
259
+ :border-top 5px solid #a20013
260
+ .box
261
+ textarea
262
+ :width 290px
263
+ :height 100px
264
+ :border none
265
+
266
+ #footer
267
+ :margin-top 10px
268
+ :padding 1.2em 1.5em
269
+ :background #ff8500
270
+ ul
271
+ :margin 0
272
+ :padding 0
273
+ :list-style-type none
274
+ li
275
+ :display inline
276
+ :margin 0 0.5em
277
+ :color #440008
278
+ ul.links
279
+ :float left
280
+ a:link, a:visited
281
+ :color #440008
282
+ :text-decoration none
283
+ a:hover
284
+ :text-decoration underline
285
+ ul.copyright
286
+ :float right
287
+
288
+
289
+ .clear
290
+ :clear both
291
+
292
+ .centered
293
+ :text-align center
294
+
295
+ img
296
+ :border none
297
+
298
+ button.short
299
+ :width 60px
300
+ :height 22px
301
+ :padding 0 0 2px 0
302
+ :color #fff
303
+ :border none
304
+ :background url(/images/btn_short.gif) no-repeat
305
+
306
+ table
307
+ :border-collapse collapse
@@ -0,0 +1,15 @@
1
+ #main
2
+ :width 15em
3
+ :color #0000ff
4
+ p
5
+ :border
6
+ :style dotted
7
+ :width 2px
8
+ .cool
9
+ :width 100px
10
+
11
+ #left
12
+ :font
13
+ :size 2em
14
+ :weight bold
15
+ :float left
@@ -0,0 +1,17 @@
1
+ #main
2
+ :width 15em
3
+ :color #0000ff
4
+ p
5
+ :border
6
+ :style dotted
7
+ /* Nested comment
8
+ More nested stuff
9
+ :width 2px
10
+ .cool
11
+ :width 100px
12
+
13
+ #left
14
+ :font
15
+ :size 2em
16
+ :weight bold
17
+ :float left
@@ -0,0 +1,11 @@
1
+ !preconst = "hello"
2
+
3
+ =premixin
4
+ pre-mixin: here
5
+
6
+ @import importee.sass, basic.sass, basic.css, ../results/complex.css, partial.sass
7
+
8
+ nonimported
9
+ :myconst = !preconst
10
+ :otherconst = !postconst
11
+ +postmixin
@@ -0,0 +1,19 @@
1
+ !postconst = "goodbye"
2
+
3
+ =postmixin
4
+ post-mixin: here
5
+
6
+ imported
7
+ :otherconst = !preconst
8
+ :myconst = !postconst
9
+ +premixin
10
+
11
+ @import basic
12
+
13
+ midrule
14
+ :inthe middle
15
+
16
+ =crazymixin
17
+ foo: bar
18
+ baz
19
+ blat: bang