hamlit 2.9.1-java

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 (107) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +16 -0
  3. data/.travis.yml +45 -0
  4. data/CHANGELOG.md +666 -0
  5. data/Gemfile +28 -0
  6. data/LICENSE.txt +44 -0
  7. data/README.md +146 -0
  8. data/REFERENCE.md +266 -0
  9. data/Rakefile +117 -0
  10. data/benchmark/boolean_attribute.haml +6 -0
  11. data/benchmark/class_attribute.haml +5 -0
  12. data/benchmark/common_attribute.haml +3 -0
  13. data/benchmark/data_attribute.haml +4 -0
  14. data/benchmark/dynamic_attributes/boolean_attribute.haml +4 -0
  15. data/benchmark/dynamic_attributes/class_attribute.haml +4 -0
  16. data/benchmark/dynamic_attributes/common_attribute.haml +2 -0
  17. data/benchmark/dynamic_attributes/data_attribute.haml +2 -0
  18. data/benchmark/dynamic_attributes/id_attribute.haml +2 -0
  19. data/benchmark/dynamic_boolean_attribute.haml +4 -0
  20. data/benchmark/etc/attribute_builder.haml +5 -0
  21. data/benchmark/etc/real_sample.haml +888 -0
  22. data/benchmark/etc/real_sample.rb +11 -0
  23. data/benchmark/etc/static_analyzer.haml +1 -0
  24. data/benchmark/etc/string_interpolation.haml +2 -0
  25. data/benchmark/etc/tags.haml +3 -0
  26. data/benchmark/etc/tags_loop.haml +2 -0
  27. data/benchmark/ext/build_data.rb +17 -0
  28. data/benchmark/ext/build_id.rb +13 -0
  29. data/benchmark/id_attribute.haml +3 -0
  30. data/benchmark/plain.haml +4 -0
  31. data/benchmark/script.haml +4 -0
  32. data/benchmark/slim/LICENSE +21 -0
  33. data/benchmark/slim/context.rb +11 -0
  34. data/benchmark/slim/run-benchmarks.rb +94 -0
  35. data/benchmark/slim/view.erb +23 -0
  36. data/benchmark/slim/view.haml +18 -0
  37. data/benchmark/slim/view.slim +17 -0
  38. data/benchmark/utils/benchmark_ips_extension.rb +43 -0
  39. data/bin/bench +77 -0
  40. data/bin/console +11 -0
  41. data/bin/ruby +3 -0
  42. data/bin/setup +7 -0
  43. data/bin/stackprof +27 -0
  44. data/bin/test +24 -0
  45. data/exe/hamlit +6 -0
  46. data/ext/hamlit/extconf.rb +10 -0
  47. data/ext/hamlit/hamlit.c +553 -0
  48. data/ext/hamlit/hescape.c +108 -0
  49. data/ext/hamlit/hescape.h +20 -0
  50. data/hamlit.gemspec +45 -0
  51. data/lib/hamlit.rb +11 -0
  52. data/lib/hamlit/attribute_builder.rb +173 -0
  53. data/lib/hamlit/attribute_compiler.rb +123 -0
  54. data/lib/hamlit/attribute_parser.rb +110 -0
  55. data/lib/hamlit/cli.rb +130 -0
  56. data/lib/hamlit/compiler.rb +97 -0
  57. data/lib/hamlit/compiler/children_compiler.rb +112 -0
  58. data/lib/hamlit/compiler/comment_compiler.rb +36 -0
  59. data/lib/hamlit/compiler/doctype_compiler.rb +46 -0
  60. data/lib/hamlit/compiler/script_compiler.rb +101 -0
  61. data/lib/hamlit/compiler/silent_script_compiler.rb +24 -0
  62. data/lib/hamlit/compiler/tag_compiler.rb +74 -0
  63. data/lib/hamlit/engine.rb +37 -0
  64. data/lib/hamlit/error.rb +15 -0
  65. data/lib/hamlit/escapable.rb +13 -0
  66. data/lib/hamlit/filters.rb +75 -0
  67. data/lib/hamlit/filters/base.rb +12 -0
  68. data/lib/hamlit/filters/cdata.rb +20 -0
  69. data/lib/hamlit/filters/coffee.rb +17 -0
  70. data/lib/hamlit/filters/css.rb +33 -0
  71. data/lib/hamlit/filters/erb.rb +10 -0
  72. data/lib/hamlit/filters/escaped.rb +22 -0
  73. data/lib/hamlit/filters/javascript.rb +33 -0
  74. data/lib/hamlit/filters/less.rb +20 -0
  75. data/lib/hamlit/filters/markdown.rb +10 -0
  76. data/lib/hamlit/filters/plain.rb +29 -0
  77. data/lib/hamlit/filters/preserve.rb +22 -0
  78. data/lib/hamlit/filters/ruby.rb +10 -0
  79. data/lib/hamlit/filters/sass.rb +15 -0
  80. data/lib/hamlit/filters/scss.rb +15 -0
  81. data/lib/hamlit/filters/text_base.rb +25 -0
  82. data/lib/hamlit/filters/tilt_base.rb +49 -0
  83. data/lib/hamlit/force_escapable.rb +29 -0
  84. data/lib/hamlit/helpers.rb +15 -0
  85. data/lib/hamlit/html.rb +14 -0
  86. data/lib/hamlit/identity.rb +13 -0
  87. data/lib/hamlit/object_ref.rb +30 -0
  88. data/lib/hamlit/parser.rb +49 -0
  89. data/lib/hamlit/parser/MIT-LICENSE +20 -0
  90. data/lib/hamlit/parser/README.md +30 -0
  91. data/lib/hamlit/parser/haml_buffer.rb +348 -0
  92. data/lib/hamlit/parser/haml_compiler.rb +553 -0
  93. data/lib/hamlit/parser/haml_error.rb +61 -0
  94. data/lib/hamlit/parser/haml_helpers.rb +727 -0
  95. data/lib/hamlit/parser/haml_options.rb +286 -0
  96. data/lib/hamlit/parser/haml_parser.rb +800 -0
  97. data/lib/hamlit/parser/haml_util.rb +288 -0
  98. data/lib/hamlit/parser/haml_xss_mods.rb +109 -0
  99. data/lib/hamlit/rails_helpers.rb +51 -0
  100. data/lib/hamlit/rails_template.rb +58 -0
  101. data/lib/hamlit/railtie.rb +10 -0
  102. data/lib/hamlit/ruby_expression.rb +32 -0
  103. data/lib/hamlit/string_splitter.rb +88 -0
  104. data/lib/hamlit/template.rb +28 -0
  105. data/lib/hamlit/utils.rb +18 -0
  106. data/lib/hamlit/version.rb +4 -0
  107. metadata +360 -0
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 4d7a720e69327049021fa3f0717bcec7d524216a
4
+ data.tar.gz: bf6ea87e5b1f9e57b39f843629e560dfe338fd7c
5
+ SHA512:
6
+ metadata.gz: a39276f2255b76b736e9b630b022b5948c0e06f02e684f0e4c60b77cb6b4a40c072423374b8f4f815d01e34aa53f486d9de79cb0349bfa588359caf44a5900ee
7
+ data.tar.gz: 0aa063ab5f765641ede00b01dd8a997fe85ebb601d648e0df5d23694546f8274438116f66f11504f703aab676a492f7a8a2042f3580748698fef39ce3eca70e5
@@ -0,0 +1,16 @@
1
+ /.bundle/
2
+ /.yardoc
3
+ /Gemfile.lock
4
+ /_yardoc/
5
+ /coverage/
6
+ /doc/
7
+ /pkg/
8
+ /spec/reports/
9
+ /tmp/
10
+ .sass-cache
11
+ .ruby-version
12
+ *.bundle
13
+ *.so
14
+ *.o
15
+ *.a
16
+ *.swp
@@ -0,0 +1,45 @@
1
+ language: ruby
2
+ cache: bundler
3
+ branches:
4
+ only:
5
+ - master
6
+ script:
7
+ - "RUBYOPT='-w' bundle exec rake $TASK"
8
+ matrix:
9
+ include:
10
+ - rvm: 2.1.10
11
+ env: TASK=test
12
+ - rvm: 2.2.6
13
+ env: TASK=test
14
+ - rvm: 2.3.3
15
+ env: TASK=test
16
+ - rvm: 2.4.0
17
+ env: TASK=test
18
+ - rvm: ruby-head
19
+ env: TASK=test
20
+ - rvm: jruby-9.1.9.0
21
+ env: TASK=test
22
+ - rvm: 2.4.0
23
+ env: TASK=bench TEMPLATE=benchmark/boolean_attribute.haml,benchmark/class_attribute.haml,benchmark/id_attribute.haml,benchmark/data_attribute.haml,benchmark/common_attribute.haml
24
+ - rvm: 2.4.0
25
+ env: TASK=bench TEMPLATE=benchmark/dynamic_attributes/boolean_attribute.haml,benchmark/dynamic_attributes/class_attribute.haml,benchmark/dynamic_attributes/id_attribute.haml,benchmark/dynamic_attributes/data_attribute.haml,benchmark/dynamic_attributes/common_attribute.haml
26
+ - rvm: 2.4.0
27
+ env: TASK=bench SLIM_BENCH=1
28
+ - rvm: 2.4.0
29
+ env: TASK=bench TEMPLATE=benchmark/etc/attribute_builder.haml
30
+ - rvm: 2.4.0
31
+ env: TASK=bench TEMPLATE=benchmark/etc/static_analyzer.haml
32
+ - rvm: 2.4.0
33
+ env: TASK=bench TEMPLATE=benchmark/etc/string_interpolation.haml
34
+ - rvm: 2.4.0
35
+ env: TASK=bench TEMPLATE=test/haml/templates/standard.haml COMPILE=1
36
+ allow_failures:
37
+ - rvm: ruby-head
38
+ env: TASK=test
39
+ - env: TASK=bench TEMPLATE=benchmark/boolean_attribute.haml,benchmark/class_attribute.haml,benchmark/id_attribute.haml,benchmark/data_attribute.haml,benchmark/common_attribute.haml
40
+ - env: TASK=bench TEMPLATE=benchmark/dynamic_attributes/boolean_attribute.haml,benchmark/dynamic_attributes/class_attribute.haml,benchmark/dynamic_attributes/id_attribute.haml,benchmark/dynamic_attributes/data_attribute.haml,benchmark/dynamic_attributes/common_attribute.haml
41
+ - env: TASK=bench SLIM_BENCH=1
42
+ - env: TASK=bench TEMPLATE=benchmark/etc/attribute_builder.haml
43
+ - env: TASK=bench TEMPLATE=benchmark/etc/static_analyzer.haml
44
+ - env: TASK=bench TEMPLATE=benchmark/etc/string_interpolation.haml
45
+ - env: TASK=bench TEMPLATE=test/haml/templates/standard.haml COMPILE=1
@@ -0,0 +1,666 @@
1
+ # Change Log
2
+
3
+ All notable changes to this project will be documented in this file. This
4
+ project adheres to [Semantic Versioning](http://semver.org/). This change log is based upon
5
+ [keep-a-changelog](https://github.com/olivierlacan/keep-a-changelog).
6
+
7
+ ## [2.9.1](https://github.com/k0kubun/hamlit/compare/v2.9.0...v2.9.1) - 2018-11-01
8
+
9
+ - Start supporting JRuby [#100](https://github.com/k0kubun/hamlit/issues/100).
10
+
11
+ ## [2.9.0](https://github.com/k0kubun/hamlit/compare/v2.8.10...v2.9.0) - 2018-10-16
12
+
13
+ ### Added
14
+
15
+ - Consider aria attribute as another attribute that supports hyphenation and boolean like data attribute
16
+ [#57](https://github.com/k0kubun/hamlit/pull/57). *Thanks to @francesco-loreti*
17
+
18
+ ## [2.8.10](https://github.com/k0kubun/hamlit/compare/v2.8.9...v2.8.10) - 2018-09-05
19
+
20
+ ### Fixed
21
+
22
+ - Fix uninitialized constant error introduced in v2.8.9
23
+ [#125](https://github.com/k0kubun/hamlit/pull/125). *Thanks to @vovchynniko*
24
+
25
+ ## [2.8.9](https://github.com/k0kubun/hamlit/compare/v2.8.8...v2.8.9) - 2018-09-05 [YANKED]
26
+
27
+ ### Fixed
28
+
29
+ - Don't raise an error on UTF-8 BOM [#117](https://github.com/k0kubun/hamlit/pull/117)
30
+ [#124](https://github.com/k0kubun/hamlit/pull/124). *Thanks to @southwolf*
31
+
32
+ ## [2.8.8](https://github.com/k0kubun/hamlit/compare/v2.8.7...v2.8.8) - 2018-04-06
33
+
34
+ ### Fixed
35
+
36
+ - Don't require Tilt dependencies if unregistered
37
+ [#121](https://github.com/k0kubun/hamlit/pull/121). *Thanks to @michaelglass*
38
+
39
+ ## [2.8.7](https://github.com/k0kubun/hamlit/compare/v2.8.6...v2.8.7) - 2018-02-17
40
+
41
+ ### Fixed
42
+
43
+ - Fix parser error on string interpolation in attributes
44
+
45
+ ## [2.8.6](https://github.com/k0kubun/hamlit/compare/v2.8.5...v2.8.6) - 2017-12-22
46
+
47
+ ### Fixed
48
+
49
+ - Fix some unused-variable / method-redefinition warnings
50
+
51
+ ## [2.8.5](https://github.com/k0kubun/hamlit/compare/v2.8.4...v2.8.5) - 2017-11-06
52
+
53
+ ### Fixed
54
+
55
+ - Fix lexer to work with Ripper of Ruby 2.5
56
+
57
+ ## [2.8.4](https://github.com/k0kubun/hamlit/compare/v2.8.3...v2.8.4) - 2017-06-23
58
+
59
+ ### Added
60
+
61
+ - Allow filename `-` to read input from STDIN for `hamlit [parse|temple|compile|render]`
62
+ [#113](https://github.com/k0kubun/hamlit/issues/113). *Thanks to @gfx*
63
+
64
+ ## [2.8.3](https://github.com/k0kubun/hamlit/compare/v2.8.2...v2.8.3) - 2017-06-19
65
+
66
+ ### Added
67
+
68
+ - Add `--color` option to `hamlit parse` and `hamlit temple` commands too.
69
+
70
+ ## [2.8.2](https://github.com/k0kubun/hamlit/compare/v2.8.1...v2.8.2) - 2017-06-19
71
+
72
+ ### Added
73
+
74
+ - Add `--color` option to opt-in coloring in `hamlit compile` command
75
+ [#111](https://github.com/k0kubun/hamlit/issues/111).
76
+
77
+ ## [2.8.1](https://github.com/k0kubun/hamlit/compare/v2.8.0...v2.8.1) - 2017-04-03
78
+
79
+ ### Fixed
80
+
81
+ - Fix SEGV caused by nil in old attributes
82
+ [#101](https://github.com/k0kubun/hamlit/issues/101). *Thanks to @FND*
83
+
84
+ ## [2.8.0](https://github.com/k0kubun/hamlit/compare/v2.7.5...v2.8.0) - 2017-02-12
85
+
86
+ ### Changed
87
+
88
+ - Support Temple >= 0.8.0 and change to use StaticAnalyzer in Temple
89
+ - Optimize attribute building code a little
90
+
91
+ ## [2.7.5](https://github.com/k0kubun/hamlit/compare/v2.7.4...v2.7.5) - 2016-10-15
92
+
93
+ ### Fixed
94
+
95
+ - Resurrect `Hamlit::RailsTemplate.set_options` dropped in v2.7.4 unexpectedly.
96
+
97
+ ## [2.7.4](https://github.com/k0kubun/hamlit/compare/v2.7.3...v2.7.4) - 2016-10-15 [YANKED]
98
+
99
+ ### Fixed
100
+
101
+ - Compile template as xhtml when ActionView regards template as text/xml
102
+ [#92](https://github.com/k0kubun/hamlit/issues/92). *Thank to @shmargum*
103
+
104
+ ## [2.7.3](https://github.com/k0kubun/hamlit/compare/v2.7.2...v2.7.3) - 2016-10-12
105
+
106
+ ### Fixed
107
+
108
+ - Regard download as an boolean attribute
109
+ [#91](https://github.com/k0kubun/hamlit/pull/91). *Thank to @pushcx*
110
+
111
+ ## [2.7.2](https://github.com/k0kubun/hamlit/compare/v2.7.1...v2.7.2) - 2016-09-19
112
+
113
+ ### Fixed
114
+
115
+ - Fix engine option warning
116
+ [#90](https://github.com/k0kubun/hamlit/issues/90). *Thank to @kikonen*
117
+
118
+ ## [2.7.1](https://github.com/k0kubun/hamlit/compare/v2.7.0...v2.7.1) - 2016-09-19
119
+
120
+ ### Fixed
121
+
122
+ - Fix Rails handler to use `ActionView::OutputBuffer` instead of `ActionView::SafeBuffer` to justify encoding
123
+ [#89](https://github.com/k0kubun/hamlit/pull/89). *Thanks to @akelmanson*
124
+
125
+ ## [2.7.0](https://github.com/k0kubun/hamlit/compare/v2.6.2...v2.7.0) - 2016-08-31
126
+
127
+ ### Changed
128
+
129
+ - Don't escape interpolated content in plain filter
130
+ [#87](https://github.com/k0kubun/hamlit/pull/87). *Thanks to @shmargum*
131
+
132
+ ## [2.6.2](https://github.com/k0kubun/hamlit/compare/v2.6.1...v2.6.2) - 2016-08-27
133
+
134
+ ### Added
135
+
136
+ - Add cdata filter
137
+ [#84](https://github.com/k0kubun/hamlit/issues/84). *Thanks to @shmargum*
138
+ - Minimize string allocation on template comipilation using `# frozen_string_literal: true`
139
+
140
+ ## [2.6.1](https://github.com/k0kubun/hamlit/compare/v2.6.0...v2.6.1) - 2016-08-18
141
+
142
+ ### Fixed
143
+
144
+ - For Rails, escape attributes even if it's html\_safe
145
+ - This is the same fix as Rails for [CVE-2016-6316](https://groups.google.com/forum/#!topic/ruby-security-ann/8B2iV2tPRSE)
146
+
147
+ ## [2.6.0](https://github.com/k0kubun/hamlit/compare/v2.5.0...v2.6.0) - 2016-08-14
148
+
149
+ ### Changed
150
+
151
+ - Stop using [houdini](https://github.com/vmg/houdini) and rewrite HTML escape function to resolve building or packaging problems [#82](https://github.com/k0kubun/hamlit/pull/82).
152
+ - No behavior is changed
153
+
154
+ ## [2.5.0](https://github.com/k0kubun/hamlit/compare/v2.4.2...v2.5.0) - 2016-06-04
155
+
156
+ ### Changed
157
+
158
+ - Don't escape the result of `preserve` helper in Rails
159
+
160
+ ## [2.4.2](https://github.com/k0kubun/hamlit/compare/v2.4.1...v2.4.2) - 2016-06-04
161
+
162
+ ### Fixed
163
+
164
+ - Regard cygwin and bccwin as Windows environment too
165
+
166
+ ## [2.4.1](https://github.com/k0kubun/hamlit/compare/v2.4.0...v2.4.1) - 2016-06-03
167
+
168
+ ### Fixed
169
+
170
+ - Fix C extension builder to work with Ruby 2.3 on Windows
171
+ [#69](https://github.com/k0kubun/hamlit/issues/69). *Thanks to @francesco-loreti*
172
+
173
+ ## [2.4.0](https://github.com/k0kubun/hamlit/compare/v2.3.1...v2.4.0) - 2016-05-13
174
+
175
+ ### Added
176
+
177
+ - Add `Hamlit::Helpers.preserve` method for Tilt templates
178
+
179
+ ## [2.3.1](https://github.com/k0kubun/hamlit/compare/v2.3.0...v2.3.1) - 2016-05-09
180
+
181
+ ### Fixed
182
+
183
+ - Specify Ruby version dependency on gemspec
184
+ [#67](https://github.com/k0kubun/hamlit/issues/67). *Thanks to @grosser*
185
+
186
+ ## [2.3.0](https://github.com/k0kubun/hamlit/compare/v2.2.3...v2.3.0) - 2016-04-24
187
+
188
+ ### Added
189
+
190
+ - Add `Hamlit::Filters.remove_filter` method
191
+ [#66](https://github.com/k0kubun/hamlit/issues/66). *Thanks to @connorshea*
192
+
193
+ ### Changed
194
+
195
+ - `:coffeescript` filter's internal class name is changed from `Coffee` to `CoffeeScript`
196
+
197
+ ## [2.2.4](https://github.com/k0kubun/hamlit/compare/v2.2.3...v2.2.4) - 2017-12-05
198
+
199
+ ### Fixed
200
+
201
+ - Fix to work with Ruby 2.5. This version is usable with both 2.0 and 2.5.
202
+
203
+ ## [2.2.3](https://github.com/k0kubun/hamlit/compare/v2.2.2...v2.2.3) - 2016-03-10
204
+
205
+ ### Added
206
+
207
+ - Add `hamlit version` subcommand
208
+ [#60](https://github.com/k0kubun/hamlit/pull/60). *Thanks to @timoschilling*
209
+
210
+ ### Fixed
211
+
212
+ - Fix load path for CLI
213
+ [#61](https://github.com/k0kubun/hamlit/pull/61). *Thanks to @timoschilling*
214
+
215
+ ## [2.2.2](https://github.com/k0kubun/hamlit/compare/v2.2.1...v2.2.2) - 2016-02-21
216
+
217
+ ### Added
218
+
219
+ - Optimize performance of plain filter
220
+
221
+ ### Fixed
222
+
223
+ - Escape only interpolated text for plain filter
224
+ [#58](https://github.com/k0kubun/hamlit/issues/58). *Thanks to @shaneog*
225
+
226
+ ## [2.2.1](https://github.com/k0kubun/hamlit/compare/v2.2.0...v2.2.1) - 2016-02-06
227
+
228
+ ### Added
229
+
230
+ - Support Windows
231
+ [#54](https://github.com/k0kubun/hamlit/issues/54). *Thanks to @francesco-loreti*
232
+
233
+ ## [2.2.0](https://github.com/k0kubun/hamlit/compare/v2.1.2...v2.2.0) - 2015-12-24
234
+
235
+ ### Added
236
+
237
+ - Optimize inline script inside a tag
238
+ - Optimize string interpolation recursively
239
+
240
+ ## [2.1.2](https://github.com/k0kubun/hamlit/compare/v2.1.1...v2.1.2) - 2015-12-16
241
+
242
+ ### Fixed
243
+
244
+ - Fix rendering failure for static integer
245
+ [#50](https://github.com/k0kubun/hamlit/pull/50). *Thanks to @yatmsu*
246
+
247
+ ## [2.1.1](https://github.com/k0kubun/hamlit/compare/v2.1.0...v2.1.1) - 2015-12-15
248
+
249
+ ### Fixed
250
+
251
+ - Use faster HTML-escape method for compiling
252
+ - Show proper line number for unbalanced brackets error
253
+
254
+ ## [2.1.0](https://github.com/k0kubun/hamlit/compare/v2.0.2...v2.1.0) - 2015-12-14
255
+
256
+ ### Added
257
+
258
+ - `-I` and `-r` options are added to `hamlit render` command
259
+ [#37](https://github.com/k0kubun/hamlit/issues/37). *Thanks to @jhurliman*
260
+
261
+ ### Changed
262
+
263
+ - Dropped obsolete `escape_utils` gem dependency
264
+ [#48](https://github.com/k0kubun/hamlit/pull/48). *Thanks to @eagletmt*
265
+
266
+ ### Fixed
267
+
268
+ - Accept NUL character in attribute keys
269
+ [#49](https://github.com/k0kubun/hamlit/pull/49). *Thanks to @eagletmt*
270
+
271
+ ## [2.0.2](https://github.com/k0kubun/hamlit/compare/v2.0.1...v2.0.2) - 2015-12-12
272
+
273
+ ### Fixed
274
+ - Fix a crash in compiling with CLI
275
+ [#46](https://github.com/k0kubun/hamlit/pull/46). *Thanks to @walf443*
276
+ - Use default engine options properly in CLI commands
277
+
278
+ ## [2.0.1](https://github.com/k0kubun/hamlit/compare/v2.0.0...v2.0.1) - 2015-11-30
279
+
280
+ ### Fixed
281
+ - Fix build failure of native extension
282
+
283
+ ## [2.0.0](https://github.com/k0kubun/hamlit/compare/v1.7.2...v2.0.0) - 2015-11-30 [YANKED]
284
+ ### Added
285
+ - Support object reference
286
+
287
+ ### Changed
288
+ - Full scratch of internal implementation
289
+ - Rendering is strongly optimized
290
+ - Static analyzer is introduced
291
+ - Built with C extension for runtime rendering
292
+ - Optimized compilation for 5 types of attributes
293
+ - Compilation became faster too
294
+ - Many rendering incompatibilities are resolved
295
+ - [**breaking**] Replaced parser with original Haml's one
296
+ - Incompatible parsing error will never happen, but we can no longer parse
297
+ attributes with Ripper
298
+ - [**breaking**] Unified behavior for both static and dynamic attributes, see
299
+ [5 types of attributes](REFERENCE.md#5-types-of-attributes)
300
+ - Though inconsistent behavior is removed, we can no longer rely on
301
+ completely-Haml-compatible behavior of static attributes and pass haml-spec
302
+ - [**breaking**] Added :escape\_attrs option
303
+ - You should specify HTML-escaping availability for script and attrs
304
+ separately.
305
+
306
+ ## [1.7.2](https://github.com/k0kubun/hamlit/compare/v1.7.1...v1.7.2) - 2015-07-22
307
+
308
+ ### Fixed
309
+ - Bugfix about parsing a content of tag
310
+ - This was introduced in v1.6.6.
311
+
312
+ ## [1.7.1](https://github.com/k0kubun/hamlit/compare/v1.7.0...v1.7.1) - 2015-07-21
313
+
314
+ ### Fixed
315
+ - Don't escape a block content of some helpers
316
+ [#35](https://github.com/k0kubun/hamlit/issues/35). *Thanks to @felixbuenemann*
317
+
318
+ ## [1.7.0](https://github.com/k0kubun/hamlit/compare/v1.6.7...v1.7.0) - 2015-07-09
319
+
320
+ ### Added
321
+ - Support Ruby 2.2.0 hash syntax
322
+ - like `{ "hyphened-key": "value" }`
323
+
324
+ ## [1.6.7](https://github.com/k0kubun/hamlit/compare/v1.6.6...v1.6.7) - 2015-06-27
325
+
326
+ ### Fixed
327
+ - Remove unused variables and avoid shadowing
328
+ - To suppress warnings in application using `rspec --warnings`
329
+
330
+ ## [1.6.6](https://github.com/k0kubun/hamlit/compare/v1.6.5...v1.6.6) - 2015-06-24
331
+
332
+ ### Added
333
+ - Allow hyphenated HTML-style attributes
334
+ [pull #29](https://github.com/k0kubun/hamlit/pull/29). *thanks to @babelfish*
335
+
336
+ ## [1.6.5](https://github.com/k0kubun/hamlit/compare/v1.6.4...v1.6.5) - 2015-06-13
337
+
338
+ ### Fixed
339
+ - Don't duplicate element class and attribute class
340
+ - Raise an error for an empty tag name
341
+
342
+ ## [1.6.4](https://github.com/k0kubun/hamlit/compare/v1.6.3...v1.6.4) - 2015-06-13
343
+
344
+ ### Changed
345
+ - Show human-friendly error messages
346
+
347
+ ### Fixed
348
+ - Fix line number of runtime syntax error
349
+ - Increase the number of checked cases for illegal nesting.
350
+ *Thanks to @eagletmt*
351
+
352
+ ## [1.6.3](https://github.com/k0kubun/hamlit/compare/v1.6.2...v1.6.3) - 2015-06-13
353
+
354
+ ### Fixed
355
+ - Fix ! and & parsing inside a tag
356
+ [#27](https://github.com/k0kubun/hamlit/issues/27#issuecomment-111593458).
357
+ *Thanks to @leesmith*
358
+
359
+ ## [1.6.2](https://github.com/k0kubun/hamlit/compare/v1.6.1...v1.6.2) - 2015-06-11
360
+
361
+ ### Fixed
362
+ - Reject a content for self-closing tags
363
+ - Reject nesing within self-closing tags
364
+
365
+ ## [1.6.1](https://github.com/k0kubun/hamlit/compare/v1.6.0...v1.6.1) - 2015-06-11
366
+
367
+ ### Fixed
368
+ - Parse N-space indentation
369
+ [#26](https://github.com/k0kubun/hamlit/issues/26). *Thanks to @eagletmt*
370
+
371
+ ## [1.6.0](https://github.com/k0kubun/hamlit/compare/v1.5.9...v1.6.0) - 2015-06-11
372
+
373
+ ### Fixed
374
+ - Fix line number of compiled code for new attributes
375
+ - Render HTML entities normally for plain text
376
+ [#27](https://github.com/k0kubun/hamlit/issues/27). *Thanks to @jeffblake*
377
+
378
+ ## [1.5.9](https://github.com/k0kubun/hamlit/compare/v1.5.8...v1.5.9) - 2015-06-08
379
+
380
+ ### Fixed
381
+ - Reject silent script after a tag
382
+
383
+ ## [1.5.8](https://github.com/k0kubun/hamlit/compare/v1.5.7...v1.5.8) - 2015-06-08
384
+
385
+ ### Fixed
386
+ - Fix parsing inline script for != and &=
387
+
388
+ ## [1.5.7](https://github.com/k0kubun/hamlit/compare/v1.5.6...v1.5.7) - 2015-06-08
389
+
390
+ ### Fixed
391
+ - Fix the behavior for multi-line script
392
+
393
+ ## [1.5.6](https://github.com/k0kubun/hamlit/compare/v1.5.5...v1.5.6) - 2015-06-07
394
+
395
+ ### Added
396
+ - Raise error for unbalanced brackets
397
+
398
+ ### Changed
399
+ - Don't render newline after block script
400
+
401
+ ## [1.5.5](https://github.com/k0kubun/hamlit/compare/v1.5.4...v1.5.5) - 2015-06-07
402
+
403
+ ### Added
404
+ - Support &, &== operator
405
+
406
+ ### Changed
407
+ - Depend on v0.7.6 of temple for refactoring
408
+
409
+ ### Fixed
410
+ - Fix a trivial diff of rendering multiline operator
411
+
412
+ ## [1.5.4](https://github.com/k0kubun/hamlit/compare/v1.5.3...v1.5.4) - 2015-06-07
413
+
414
+ ### Changed
415
+ - Recursively remove whitespace inside a tag
416
+
417
+ ### Fixed
418
+ - Fix ! operator immediately before whitespace
419
+
420
+ ## [1.5.3](https://github.com/k0kubun/hamlit/compare/v1.5.2...v1.5.3) - 2015-06-06
421
+
422
+ ### Added
423
+ - Support !, !=, !==, &= and ~ as inline operators
424
+
425
+ ## [1.5.2](https://github.com/k0kubun/hamlit/compare/v1.5.1...v1.5.2) - 2015-06-06
426
+
427
+ ### Changed
428
+ - Disable html escaping in CSS and JavaScript filter
429
+
430
+ ## [1.5.1](https://github.com/k0kubun/hamlit/compare/v1.5.0...v1.5.1) - 2015-06-05
431
+
432
+ ### Changed
433
+ - Remove outer whitespace in the block
434
+
435
+ ## [1.5.0](https://github.com/k0kubun/hamlit/compare/v1.4.7...v1.5.0) - 2015-06-03
436
+
437
+ ### Changed
438
+ - Remake implementation of outer whitespace removal
439
+
440
+ ## [1.4.7](https://github.com/k0kubun/hamlit/compare/v1.4.6...v1.4.7) - 2015-06-03
441
+
442
+ ### Changed
443
+ - Sort static old attributes by name
444
+
445
+ ### Fixed
446
+ - Bugfix for old array attributes with class element
447
+
448
+ ## [1.4.6](https://github.com/k0kubun/hamlit/compare/v1.4.5...v1.4.6) - 2015-06-03
449
+
450
+ ### Added
451
+ - Support `!==`, `==` operator
452
+
453
+ ### Fixed
454
+ - Avoid regarding spaced block as multiline
455
+
456
+ ## [1.4.5](https://github.com/k0kubun/hamlit/compare/v1.4.4...v1.4.5) - 2015-06-02
457
+
458
+ ### Fixed
459
+ - Support Ruby 2.0 and 2.1 for v1.4.4
460
+
461
+ ## [1.4.4](https://github.com/k0kubun/hamlit/compare/v1.4.3...v1.4.4) - 2015-06-02 [YANKED]
462
+
463
+ ### Fixed
464
+ - Fix old attribute parser to be more flexible
465
+ - Accept multiple hashes as old attributes
466
+ - Accept old attributes with hash and literal
467
+
468
+ ## [1.4.3](https://github.com/k0kubun/hamlit/compare/v1.4.2...v1.4.3) - 2015-06-02
469
+
470
+ ### Changed
471
+ - Allow `when` to have multiple candidates
472
+ - Allow `rescue` to specify an error variable
473
+
474
+ ## [1.4.2](https://github.com/k0kubun/hamlit/compare/v1.4.1...v1.4.2) - 2015-05-31
475
+
476
+ ### Added
477
+ - Support `!` operator
478
+ - It disables html escaping for interpolated text
479
+
480
+ ## [1.4.1](https://github.com/k0kubun/hamlit/compare/v1.4.0...v1.4.1) - 2015-05-31
481
+
482
+ ### Fixed
483
+ - Fix code mistake in 1.4.0
484
+
485
+ ## [1.4.0](https://github.com/k0kubun/hamlit/compare/v1.3.2...v1.4.0) - 2015-05-31 [YANKED]
486
+
487
+ ### Added
488
+ - Escape interpolated string in plain text
489
+
490
+ ## [1.3.2](https://github.com/k0kubun/hamlit/compare/v1.3.1...v1.3.2) - 2015-05-30
491
+
492
+ - Render `begin`, `rescue` and `ensure`
493
+
494
+ ## [1.3.1](https://github.com/k0kubun/hamlit/compare/v1.3.0...v1.3.1) - 2015-05-30
495
+
496
+ ### Fixed
497
+ - Bugfix about a backslash-only comment
498
+ - Don't strip a plain text
499
+
500
+ ## [1.3.0](https://github.com/k0kubun/hamlit/compare/v1.2.1...v1.3.0) - 2015-05-16
501
+
502
+ ### Added
503
+ - Resurrect escape\_html option
504
+ [#25](https://github.com/k0kubun/hamlit/issues/25).
505
+ *Thanks to @resistorsoftware*
506
+ - Still enabled by default
507
+ - This has been dropped since v0.6.0
508
+
509
+ ## [1.2.1](https://github.com/k0kubun/hamlit/compare/v1.2.0...v1.2.1) - 2015-05-15
510
+
511
+ ### Fixed
512
+ - Fix the list of boolean attributes
513
+ [#24](https://github.com/k0kubun/hamlit/issues/24). *Thanks to @jeffblake*
514
+
515
+ ## [1.2.0](https://github.com/k0kubun/hamlit/compare/v1.1.1...v1.2.0) - 2015-05-06
516
+
517
+ Added
518
+ - Support `succeed`, `precede` and `surround`
519
+ [#22](https://github.com/k0kubun/hamlit/issues/22). *Thanks to @sneakernets*
520
+
521
+ ## [1.1.1](https://github.com/k0kubun/hamlit/compare/v1.1.0...v1.1.1) - 2015-05-06
522
+
523
+ ### Fixed
524
+ - Bugfix of rendering array attributes
525
+
526
+ ## [1.1.0](https://github.com/k0kubun/hamlit/compare/v1.0.0...v1.1.0) - 2015-05-06
527
+
528
+ ### Fixed
529
+ - Join id and class attributes
530
+ [#23](https://github.com/k0kubun/hamlit/issues/23).
531
+ *Thanks to @felixbuenemann*
532
+
533
+ ## [1.0.0](https://github.com/k0kubun/hamlit/compare/v0.6.2...v1.0.0) - 2015-04-12
534
+
535
+ ### Added
536
+ - Use escape\_utils gem for faster escape\_html
537
+
538
+ ## [0.6.2](https://github.com/k0kubun/hamlit/compare/v0.6.1...v0.6.2) - 2015-04-12
539
+
540
+ ### Fixed
541
+ - Don't render falsy attributes
542
+ [#2](https://github.com/k0kubun/hamlit/issues/2). *Thanks to @eagletmt*
543
+
544
+ ## [0.6.1](https://github.com/k0kubun/hamlit/compare/v0.6.0...v0.6.1) - 2015-04-12
545
+
546
+ ### Fixed
547
+ - Bugfix of line numbers for better error backtrace
548
+ [pull #19](https://github.com/k0kubun/hamlit/pull/19)
549
+
550
+ ## [0.6.0](https://github.com/k0kubun/hamlit/compare/v0.5.3...v0.6.0) - 2015-04-12
551
+
552
+ ### Added
553
+ - Automatically escape html in all situations
554
+ [pull #18](https://github.com/k0kubun/hamlit/pull/18)
555
+
556
+ ## [0.5.3](https://github.com/k0kubun/hamlit/compare/v0.5.2...v0.5.3) - 2015-04-12
557
+
558
+ ### Fixed
559
+ - Bugfix for syntax error in data attribute hash
560
+ [#17](https://github.com/k0kubun/hamlit/issues/17). *Thanks to @eagletmt*
561
+
562
+ ## [0.5.2](https://github.com/k0kubun/hamlit/compare/v0.5.1...v0.5.2) - 2015-04-12
563
+
564
+ ### Fixed
565
+ - Bugfix for silent script without block
566
+ [#16](https://github.com/k0kubun/hamlit/issues/16). *Thanks to @eagletmt*
567
+
568
+ ## [0.5.1](https://github.com/k0kubun/hamlit/compare/v0.5.0...v0.5.1) - 2015-04-12
569
+
570
+ ### Fixed
571
+ - Bugfix about duplicated id and class
572
+ [#4](https://github.com/k0kubun/hamlit/issues/4). *Thanks to @os0x*
573
+
574
+ ## [0.5.0](https://github.com/k0kubun/hamlit/compare/v0.4.3...v0.5.0) - 2015-04-12
575
+
576
+ ### Fixed
577
+ - Escape special characters in attribute values
578
+ [#10](https://github.com/k0kubun/hamlit/issues/10). *Thanks to @mono0x,
579
+ @eagletmt*
580
+
581
+ ## [0.4.3](https://github.com/k0kubun/hamlit/compare/v0.4.2...v0.4.3) - 2015-04-12
582
+
583
+ ### Fixed
584
+ - Allow empty else statement [#14](https://github.com/k0kubun/hamlit/issues/14).
585
+ *Thanks to @jeffblake*
586
+ - Accept comment-only script [#13](https://github.com/k0kubun/hamlit/issues/13).
587
+ *Thanks to @jeffblake*
588
+
589
+ ## [0.4.2](https://github.com/k0kubun/hamlit/compare/v0.4.1...v0.4.2) - 2015-04-05
590
+
591
+ ### Fixed
592
+ - Bugfix about parsing nested attributes
593
+ [#12](https://github.com/k0kubun/hamlit/issues/12). *Thanks to @creasty*
594
+
595
+ ## [0.4.1](https://github.com/k0kubun/hamlit/compare/v0.4.0...v0.4.1) - 2015-04-05
596
+
597
+ ### Removed
598
+ - Automatic escape html is sintara, consult `README.md`.
599
+
600
+ ### Fixed
601
+ - Escape haml operators by backslash
602
+ [#11](https://github.com/k0kubun/hamlit/issues/11). *Thanks to @mono0x*
603
+
604
+ ## [0.4.0](https://github.com/k0kubun/hamlit/compare/v0.3.4...v0.4.0) - 2015-04-05 [YANKED]
605
+
606
+ ### Added
607
+ - Automatically escape html in sinatra
608
+
609
+ ## [0.3.4](https://github.com/k0kubun/hamlit/compare/v0.3.3...v0.3.4) - 2015-04-02
610
+
611
+ ### Fixed
612
+ - Allow tab indentation [#9](https://github.com/k0kubun/hamlit/issues/9).
613
+ *Thanks to @tdtds*
614
+
615
+ ## [0.3.3](https://github.com/k0kubun/hamlit/compare/v0.3.2...v0.3.3) - 2015-04-01
616
+
617
+ ### Fixed
618
+ - Accept multi byte parsing [#8](https://github.com/k0kubun/hamlit/issues/8).
619
+ *Thanks to @machu*
620
+
621
+ ## [0.3.2](https://github.com/k0kubun/hamlit/compare/v0.3.1...v0.3.2) - 2015-03-31
622
+
623
+ ### Fixed
624
+ - Bugfix for compiling old attributes [#7](https://github.com/k0kubun/hamlit/issues/7).
625
+ *Thanks to @creasty*
626
+
627
+ ## [0.3.1](https://github.com/k0kubun/hamlit/compare/v0.3.0...v0.3.1) - 2015-03-31
628
+
629
+ ### Fixed
630
+ - Hyphenate data attributes [#5](https://github.com/k0kubun/hamlit/issues/5).
631
+ *Thanks to @os0x*
632
+
633
+ ## [0.3.0](https://github.com/k0kubun/hamlit/compare/v0.2.0...v0.3.0) - 2015-03-31
634
+
635
+ ### Added
636
+ - Specify a version in dependency of temple
637
+
638
+ ## [0.2.0](https://github.com/k0kubun/hamlit/compare/v0.1.3...v0.2.0) - 2015-03-30
639
+
640
+ ### Added
641
+ - Allow comments in script [#3](https://github.com/k0kubun/hamlit/issues/3).
642
+ *Thanks to @eagletmt*
643
+
644
+ ## [0.1.3](https://github.com/k0kubun/hamlit/compare/v0.1.2...v0.1.3) - 2015-03-30
645
+
646
+ ### Fixed
647
+ - Bugfix for [#1](https://github.com/k0kubun/hamlit/issues/1) attribute nesting
648
+ on runtime. *Thanks to @eagletmt*
649
+
650
+ ## [0.1.2](https://github.com/k0kubun/hamlit/compare/v0.1.1...v0.1.2) - 2015-03-30
651
+
652
+ ### Fixed
653
+ - Ignore false or nil values in attributes
654
+ - Partial fix for [#2](https://github.com/k0kubun/hamlit/issues/2).
655
+ *Thanks to @eagletmt*
656
+
657
+ ## [0.1.1](https://github.com/k0kubun/hamlit/compare/v0.1.0...v0.1.1) - 2015-03-30
658
+
659
+ ### Removed
660
+ - Drop obsolete `--ugly` option for CLI
661
+ - Currently pretty mode is not implemented #2
662
+
663
+ ## [0.1.0](https://github.com/k0kubun/hamlit/compare/9cf8216...v0.1.0) - 2015-03-30
664
+
665
+ - Initial release
666
+ - Passing haml-spec with ugly mode