haml 4.0.6 → 5.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.yardopts +1 -1
- data/CHANGELOG.md +49 -4
- data/FAQ.md +4 -14
- data/MIT-LICENSE +1 -1
- data/README.md +85 -42
- data/REFERENCE.md +109 -58
- data/Rakefile +46 -54
- data/lib/haml/attribute_builder.rb +163 -0
- data/lib/haml/attribute_compiler.rb +215 -0
- data/lib/haml/attribute_parser.rb +144 -0
- data/lib/haml/buffer.rb +26 -136
- data/lib/haml/compiler.rb +87 -295
- data/lib/haml/engine.rb +25 -41
- data/lib/haml/error.rb +3 -0
- data/lib/haml/escapable.rb +49 -0
- data/lib/haml/exec.rb +33 -19
- data/lib/haml/filters.rb +18 -24
- data/lib/haml/generator.rb +41 -0
- data/lib/haml/helpers/action_view_extensions.rb +3 -2
- data/lib/haml/helpers/action_view_mods.rb +36 -58
- data/lib/haml/helpers/action_view_xss_mods.rb +1 -0
- data/lib/haml/helpers/safe_erubi_template.rb +27 -0
- data/lib/haml/helpers/safe_erubis_template.rb +4 -1
- data/lib/haml/helpers/xss_mods.rb +18 -12
- data/lib/haml/helpers.rb +133 -90
- data/lib/haml/options.rb +38 -47
- data/lib/haml/parser.rb +278 -216
- data/lib/haml/{template/plugin.rb → plugin.rb} +8 -15
- data/lib/haml/railtie.rb +21 -12
- data/lib/haml/sass_rails_filter.rb +17 -4
- data/lib/haml/template/options.rb +12 -2
- data/lib/haml/template.rb +12 -6
- data/lib/haml/temple_engine.rb +120 -0
- data/lib/haml/temple_line_counter.rb +29 -0
- data/lib/haml/util.rb +80 -199
- data/lib/haml/version.rb +2 -1
- data/lib/haml.rb +1 -0
- data/test/attribute_parser_test.rb +101 -0
- data/test/engine_test.rb +287 -176
- data/test/filters_test.rb +32 -19
- data/test/gemfiles/Gemfile.rails-4.0.x +9 -3
- data/test/gemfiles/Gemfile.rails-4.0.x.lock +87 -0
- data/test/gemfiles/Gemfile.rails-4.1.x +5 -0
- data/test/gemfiles/Gemfile.rails-4.2.x +5 -0
- data/test/gemfiles/Gemfile.rails-5.0.x +4 -0
- data/test/helper_test.rb +224 -112
- data/test/options_test.rb +22 -0
- data/test/parser_test.rb +71 -4
- data/test/results/bemit.xhtml +4 -0
- data/test/results/eval_suppressed.xhtml +4 -4
- data/test/results/helpers.xhtml +43 -41
- data/test/results/helpful.xhtml +6 -3
- data/test/results/just_stuff.xhtml +21 -20
- data/test/results/list.xhtml +9 -9
- data/test/results/nuke_inner_whitespace.xhtml +22 -22
- data/test/results/nuke_outer_whitespace.xhtml +84 -92
- data/test/results/original_engine.xhtml +17 -17
- data/test/results/partial_layout.xhtml +4 -3
- data/test/results/partial_layout_erb.xhtml +4 -3
- data/test/results/partials.xhtml +11 -10
- data/test/results/silent_script.xhtml +63 -63
- data/test/results/standard.xhtml +156 -159
- data/test/results/tag_parsing.xhtml +19 -19
- data/test/results/very_basic.xhtml +2 -2
- data/test/results/whitespace_handling.xhtml +77 -76
- data/test/template_test.rb +24 -56
- data/test/template_test_helper.rb +38 -0
- data/test/templates/bemit.haml +3 -0
- data/test/templates/just_stuff.haml +1 -0
- data/test/templates/standard_ugly.haml +1 -0
- data/test/templates/with_bom.haml +1 -0
- data/test/temple_line_counter_test.rb +40 -0
- data/test/test_helper.rb +26 -8
- data/test/util_test.rb +6 -47
- metadata +53 -36
- data/test/gemfiles/Gemfile.rails-3.0.x +0 -5
- data/test/gemfiles/Gemfile.rails-3.1.x +0 -6
- data/test/gemfiles/Gemfile.rails-3.2.x +0 -5
- data/test/templates/_av_partial_1_ugly.haml +0 -9
- data/test/templates/_av_partial_2_ugly.haml +0 -5
- data/test/templates/action_view_ugly.haml +0 -47
- data/test/templates/standard_ugly.haml +0 -43
metadata
CHANGED
@@ -1,17 +1,32 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: haml
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 5.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
|
-
-
|
7
|
+
- Natalie Weizenbaum
|
8
8
|
- Hampton Catlin
|
9
9
|
- Norman Clarke
|
10
|
+
- Akira Matsuda
|
10
11
|
autorequire:
|
11
12
|
bindir: bin
|
12
13
|
cert_chain: []
|
13
|
-
date:
|
14
|
+
date: 2017-04-27 00:00:00.000000000 Z
|
14
15
|
dependencies:
|
16
|
+
- !ruby/object:Gem::Dependency
|
17
|
+
name: temple
|
18
|
+
requirement: !ruby/object:Gem::Requirement
|
19
|
+
requirements:
|
20
|
+
- - ">="
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: 0.8.0
|
23
|
+
type: :runtime
|
24
|
+
prerelease: false
|
25
|
+
version_requirements: !ruby/object:Gem::Requirement
|
26
|
+
requirements:
|
27
|
+
- - ">="
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: 0.8.0
|
15
30
|
- !ruby/object:Gem::Dependency
|
16
31
|
name: tilt
|
17
32
|
requirement: !ruby/object:Gem::Requirement
|
@@ -32,14 +47,14 @@ dependencies:
|
|
32
47
|
requirements:
|
33
48
|
- - ">="
|
34
49
|
- !ruby/object:Gem::Version
|
35
|
-
version:
|
50
|
+
version: 4.0.0
|
36
51
|
type: :development
|
37
52
|
prerelease: false
|
38
53
|
version_requirements: !ruby/object:Gem::Requirement
|
39
54
|
requirements:
|
40
55
|
- - ">="
|
41
56
|
- !ruby/object:Gem::Version
|
42
|
-
version:
|
57
|
+
version: 4.0.0
|
43
58
|
- !ruby/object:Gem::Dependency
|
44
59
|
name: rbench
|
45
60
|
requirement: !ruby/object:Gem::Requirement
|
@@ -60,28 +75,28 @@ dependencies:
|
|
60
75
|
requirements:
|
61
76
|
- - ">="
|
62
77
|
- !ruby/object:Gem::Version
|
63
|
-
version: '0'
|
78
|
+
version: '4.0'
|
64
79
|
type: :development
|
65
80
|
prerelease: false
|
66
81
|
version_requirements: !ruby/object:Gem::Requirement
|
67
82
|
requirements:
|
68
83
|
- - ">="
|
69
84
|
- !ruby/object:Gem::Version
|
70
|
-
version: '0'
|
85
|
+
version: '4.0'
|
71
86
|
- !ruby/object:Gem::Dependency
|
72
87
|
name: nokogiri
|
73
88
|
requirement: !ruby/object:Gem::Requirement
|
74
89
|
requirements:
|
75
|
-
- - "
|
90
|
+
- - ">="
|
76
91
|
- !ruby/object:Gem::Version
|
77
|
-
version:
|
92
|
+
version: '0'
|
78
93
|
type: :development
|
79
94
|
prerelease: false
|
80
95
|
version_requirements: !ruby/object:Gem::Requirement
|
81
96
|
requirements:
|
82
|
-
- - "
|
97
|
+
- - ">="
|
83
98
|
- !ruby/object:Gem::Version
|
84
|
-
version:
|
99
|
+
version: '0'
|
85
100
|
description: |
|
86
101
|
Haml (HTML Abstraction Markup Language) is a layer on top of HTML or XML that's
|
87
102
|
designed to express the structure of documents in a non-repetitive, elegant, and
|
@@ -105,41 +120,53 @@ files:
|
|
105
120
|
- Rakefile
|
106
121
|
- bin/haml
|
107
122
|
- lib/haml.rb
|
123
|
+
- lib/haml/attribute_builder.rb
|
124
|
+
- lib/haml/attribute_compiler.rb
|
125
|
+
- lib/haml/attribute_parser.rb
|
108
126
|
- lib/haml/buffer.rb
|
109
127
|
- lib/haml/compiler.rb
|
110
128
|
- lib/haml/engine.rb
|
111
129
|
- lib/haml/error.rb
|
130
|
+
- lib/haml/escapable.rb
|
112
131
|
- lib/haml/exec.rb
|
113
132
|
- lib/haml/filters.rb
|
133
|
+
- lib/haml/generator.rb
|
114
134
|
- lib/haml/helpers.rb
|
115
135
|
- lib/haml/helpers/action_view_extensions.rb
|
116
136
|
- lib/haml/helpers/action_view_mods.rb
|
117
137
|
- lib/haml/helpers/action_view_xss_mods.rb
|
138
|
+
- lib/haml/helpers/safe_erubi_template.rb
|
118
139
|
- lib/haml/helpers/safe_erubis_template.rb
|
119
140
|
- lib/haml/helpers/xss_mods.rb
|
120
141
|
- lib/haml/options.rb
|
121
142
|
- lib/haml/parser.rb
|
143
|
+
- lib/haml/plugin.rb
|
122
144
|
- lib/haml/railtie.rb
|
123
145
|
- lib/haml/sass_rails_filter.rb
|
124
146
|
- lib/haml/template.rb
|
125
147
|
- lib/haml/template/options.rb
|
126
|
-
- lib/haml/
|
148
|
+
- lib/haml/temple_engine.rb
|
149
|
+
- lib/haml/temple_line_counter.rb
|
127
150
|
- lib/haml/util.rb
|
128
151
|
- lib/haml/version.rb
|
152
|
+
- test/attribute_parser_test.rb
|
129
153
|
- test/engine_test.rb
|
130
154
|
- test/erb/_av_partial_1.erb
|
131
155
|
- test/erb/_av_partial_2.erb
|
132
156
|
- test/erb/action_view.erb
|
133
157
|
- test/erb/standard.erb
|
134
158
|
- test/filters_test.rb
|
135
|
-
- test/gemfiles/Gemfile.rails-3.0.x
|
136
|
-
- test/gemfiles/Gemfile.rails-3.1.x
|
137
|
-
- test/gemfiles/Gemfile.rails-3.2.x
|
138
159
|
- test/gemfiles/Gemfile.rails-4.0.x
|
160
|
+
- test/gemfiles/Gemfile.rails-4.0.x.lock
|
161
|
+
- test/gemfiles/Gemfile.rails-4.1.x
|
162
|
+
- test/gemfiles/Gemfile.rails-4.2.x
|
163
|
+
- test/gemfiles/Gemfile.rails-5.0.x
|
139
164
|
- test/helper_test.rb
|
140
165
|
- test/markaby/standard.mab
|
141
166
|
- test/mocks/article.rb
|
167
|
+
- test/options_test.rb
|
142
168
|
- test/parser_test.rb
|
169
|
+
- test/results/bemit.xhtml
|
143
170
|
- test/results/content_for_layout.xhtml
|
144
171
|
- test/results/eval_suppressed.xhtml
|
145
172
|
- test/results/helpers.xhtml
|
@@ -159,17 +186,16 @@ files:
|
|
159
186
|
- test/results/very_basic.xhtml
|
160
187
|
- test/results/whitespace_handling.xhtml
|
161
188
|
- test/template_test.rb
|
189
|
+
- test/template_test_helper.rb
|
162
190
|
- test/templates/_av_partial_1.haml
|
163
|
-
- test/templates/_av_partial_1_ugly.haml
|
164
191
|
- test/templates/_av_partial_2.haml
|
165
|
-
- test/templates/_av_partial_2_ugly.haml
|
166
192
|
- test/templates/_layout.erb
|
167
193
|
- test/templates/_layout_for_partial.haml
|
168
194
|
- test/templates/_partial.haml
|
169
195
|
- test/templates/_text_area.haml
|
170
196
|
- test/templates/_text_area_helper.html.haml
|
171
197
|
- test/templates/action_view.haml
|
172
|
-
- test/templates/
|
198
|
+
- test/templates/bemit.haml
|
173
199
|
- test/templates/breakage.haml
|
174
200
|
- test/templates/content_for_layout.haml
|
175
201
|
- test/templates/eval_suppressed.haml
|
@@ -191,28 +217,15 @@ files:
|
|
191
217
|
- test/templates/tag_parsing.haml
|
192
218
|
- test/templates/very_basic.haml
|
193
219
|
- test/templates/whitespace_handling.haml
|
220
|
+
- test/templates/with_bom.haml
|
221
|
+
- test/temple_line_counter_test.rb
|
194
222
|
- test/test_helper.rb
|
195
223
|
- test/util_test.rb
|
196
224
|
homepage: http://haml.info/
|
197
225
|
licenses:
|
198
226
|
- MIT
|
199
227
|
metadata: {}
|
200
|
-
post_install_message:
|
201
|
-
|
202
|
-
HEADS UP! Haml 4.0 has many improvements, but also has changes that may break
|
203
|
-
your application:
|
204
|
-
|
205
|
-
* Support for Ruby 1.8.6 dropped
|
206
|
-
* Support for Rails 2 dropped
|
207
|
-
* Sass filter now always outputs <style> tags
|
208
|
-
* Data attributes are now hyphenated, not underscored
|
209
|
-
* html2haml utility moved to the html2haml gem
|
210
|
-
* Textile and Maruku filters moved to the haml-contrib gem
|
211
|
-
|
212
|
-
For more info see:
|
213
|
-
|
214
|
-
http://rubydoc.info/github/haml/haml/file/CHANGELOG.md
|
215
|
-
|
228
|
+
post_install_message:
|
216
229
|
rdoc_options: []
|
217
230
|
require_paths:
|
218
231
|
- lib
|
@@ -220,7 +233,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
220
233
|
requirements:
|
221
234
|
- - ">="
|
222
235
|
- !ruby/object:Gem::Version
|
223
|
-
version:
|
236
|
+
version: 2.0.0
|
224
237
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
225
238
|
requirements:
|
226
239
|
- - ">="
|
@@ -228,14 +241,18 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
228
241
|
version: '0'
|
229
242
|
requirements: []
|
230
243
|
rubyforge_project:
|
231
|
-
rubygems_version: 2.
|
244
|
+
rubygems_version: 2.6.11
|
232
245
|
signing_key:
|
233
246
|
specification_version: 4
|
234
247
|
summary: An elegant, structured (X)HTML/XML templating engine.
|
235
248
|
test_files:
|
249
|
+
- test/attribute_parser_test.rb
|
236
250
|
- test/engine_test.rb
|
237
251
|
- test/filters_test.rb
|
238
252
|
- test/helper_test.rb
|
253
|
+
- test/options_test.rb
|
239
254
|
- test/parser_test.rb
|
240
255
|
- test/template_test.rb
|
256
|
+
- test/temple_line_counter_test.rb
|
241
257
|
- test/util_test.rb
|
258
|
+
has_rdoc: false
|
@@ -1,47 +0,0 @@
|
|
1
|
-
!!!
|
2
|
-
%html{html_attrs}
|
3
|
-
%head
|
4
|
-
%title Hampton Catlin Is Totally Awesome
|
5
|
-
%meta{"http-equiv" => "Content-Type", :content => "text/html; charset=utf-8"}
|
6
|
-
%body
|
7
|
-
%h1
|
8
|
-
This is very much like the standard template,
|
9
|
-
except that it has some ActionView-specific stuff.
|
10
|
-
It's only used for benchmarking.
|
11
|
-
.crazy_partials= render :partial => 'templates/av_partial_1_ugly'
|
12
|
-
/ You're In my house now!
|
13
|
-
.header
|
14
|
-
Yes, ladies and gentileman. He is just that egotistical.
|
15
|
-
Fantastic! This should be multi-line output
|
16
|
-
The question is if this would translate! Ahah!
|
17
|
-
= 1 + 9 + 8 + 2 #numbers should work and this should be ignored
|
18
|
-
#body= " Quotes should be loved! Just like people!"
|
19
|
-
- 120.times do |number|
|
20
|
-
- number
|
21
|
-
Wow.|
|
22
|
-
%p
|
23
|
-
= "Holy cow " + |
|
24
|
-
"multiline " + |
|
25
|
-
"tags! " + |
|
26
|
-
"A pipe (|) even!" |
|
27
|
-
= [1, 2, 3].collect { |n| "PipesIgnored|" }
|
28
|
-
= [1, 2, 3].collect { |n| |
|
29
|
-
n.to_s |
|
30
|
-
}.join("|") |
|
31
|
-
%div.silent
|
32
|
-
- foo = String.new
|
33
|
-
- foo << "this"
|
34
|
-
- foo << " shouldn't"
|
35
|
-
- foo << " evaluate"
|
36
|
-
= foo + " but now it should!"
|
37
|
-
-# Woah crap a comment!
|
38
|
-
|
39
|
-
-# That was a line that shouldn't close everything.
|
40
|
-
%ul.really.cool
|
41
|
-
- ('a'..'f').each do |a|
|
42
|
-
%li= a
|
43
|
-
#combo.of_divs_with_underscore= @should_eval = "with this text"
|
44
|
-
= [ 104, 101, 108, 108, 111 ].map do |byte|
|
45
|
-
- byte.chr
|
46
|
-
.footer
|
47
|
-
%strong.shout= "This is a really long ruby quote. It should be loved and wrapped because its more than 50 characters. This value may change in the future and this test may look stupid. \nSo, I'm just making it *really* long. God, I hope this works"
|
@@ -1,43 +0,0 @@
|
|
1
|
-
!!!
|
2
|
-
%html{:xmlns => "http://www.w3.org/1999/xhtml", "xml:lang" => "en-US", "lang" => "en-US"}
|
3
|
-
%head
|
4
|
-
%title Hampton Catlin Is Totally Awesome
|
5
|
-
%meta{"http-equiv" => "Content-Type", :content => "text/html; charset=utf-8"}
|
6
|
-
%body
|
7
|
-
/ You're In my house now!
|
8
|
-
.header
|
9
|
-
Yes, ladies and gentileman. He is just that egotistical.
|
10
|
-
Fantastic! This should be multi-line output
|
11
|
-
The question is if this would translate! Ahah!
|
12
|
-
= 1 + 9 + 8 + 2 #numbers should work and this should be ignored
|
13
|
-
#body= " Quotes should be loved! Just like people!"
|
14
|
-
- 120.times do |number|
|
15
|
-
= number
|
16
|
-
Wow.|
|
17
|
-
%p{:code => 1 + 2}
|
18
|
-
= "Holy cow " + |
|
19
|
-
"multiline " + |
|
20
|
-
"tags! " + |
|
21
|
-
"A pipe (|) even!" |
|
22
|
-
= [1, 2, 3].collect { |n| "PipesIgnored|" }.join
|
23
|
-
= [1, 2, 3].collect { |n| |
|
24
|
-
n.to_s |
|
25
|
-
}.join("|") |
|
26
|
-
- bar = 17
|
27
|
-
%div.silent{:foo => bar}
|
28
|
-
- foo = String.new
|
29
|
-
- foo << "this"
|
30
|
-
- foo << " shouldn't"
|
31
|
-
- foo << " evaluate"
|
32
|
-
= foo + " but now it should!"
|
33
|
-
-# Woah crap a comment!
|
34
|
-
|
35
|
-
-# That was a line that shouldn't close everything.
|
36
|
-
%ul.really.cool
|
37
|
-
- ('a'..'f').each do |a|
|
38
|
-
%li= a
|
39
|
-
#combo.of_divs_with_underscore= @should_eval = "with this text"
|
40
|
-
= "foo".each_line do |line|
|
41
|
-
- nil
|
42
|
-
.footer
|
43
|
-
%strong.shout= "This is a really long ruby quote. It should be loved and wrapped because its more than 50 characters. This value may change in the future and this test may look stupid. \nSo, I'm just making it *really* long. God, I hope this works"
|