hamlit 2.15.1-java → 2.16.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.
- checksums.yaml +4 -4
- data/.github/workflows/bench.yml +1 -1
- data/CHANGELOG.md +25 -0
- data/lib/hamlit/attribute_builder.rb +1 -1
- data/lib/hamlit/cli.rb +1 -0
- data/lib/hamlit/compiler/script_compiler.rb +4 -2
- data/lib/hamlit/compiler.rb +1 -1
- data/lib/hamlit/engine.rb +2 -0
- data/lib/hamlit/parser.rb +2 -0
- data/lib/hamlit/rails_template.rb +5 -2
- data/lib/hamlit/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a7cdfbe8eb95f4bbef4250c9bbee1ac1b4a020b41a94bca2dbe7cb9f8c564a08
|
4
|
+
data.tar.gz: 3ea649ea9397fd0a7c6f1c93b0f28aecf8fe1480c34a1c2378347ef3bd9d15dd
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 03c7de215cba2311fa46b5da5a7077c1ebcb4649e7615b5ceb755591e5248877e5120125404f5488f4990682eb3fb43592854f77707b3b797b667df27b0e83dd
|
7
|
+
data.tar.gz: b4c5ec81e8382ce355040bbb17712f3a8b7d072d58c474621006007886544a954b5e1dde449f3fa7dab207a722a64146f459bc65ec7e8ef1c685fcbcc6d80c34
|
data/.github/workflows/bench.yml
CHANGED
data/CHANGELOG.md
CHANGED
@@ -4,6 +4,31 @@ All notable changes to this project will be documented in this file. This
|
|
4
4
|
project adheres to [Semantic Versioning](http://semver.org/). This change log is based upon
|
5
5
|
[keep-a-changelog](https://github.com/olivierlacan/keep-a-changelog).
|
6
6
|
|
7
|
+
## [2.16.1](https://github.com/k0kubun/hamlit/compare/v2.16.0...v2.16.1) - 2022-08-07
|
8
|
+
|
9
|
+
### Added
|
10
|
+
|
11
|
+
- Introduce `:disable_capture` option to capture a block
|
12
|
+
- Default: `disable_capture: true` (backward-compatible)
|
13
|
+
- For Rails, this must be `true` anyway to use Rails-native capturing.
|
14
|
+
- If you override the option like `disable_capture: false` in Hamlit::Template,
|
15
|
+
you can capture a block content like `= render do ...`.
|
16
|
+
|
17
|
+
## [2.16.0](https://github.com/k0kubun/hamlit/compare/v2.15.2...v2.16.0) - 2022-02-03
|
18
|
+
|
19
|
+
### Added
|
20
|
+
|
21
|
+
- Raise an exception on a Haml-level syntax error with `hamlit compile -c`
|
22
|
+
[#189](https://github.com/k0kubun/hamlit/issues/189)
|
23
|
+
*Thanks to @dlwr*
|
24
|
+
|
25
|
+
## [2.15.2](https://github.com/k0kubun/hamlit/compare/v2.15.1...v2.15.2) - 2022-01-04
|
26
|
+
|
27
|
+
### Fixed
|
28
|
+
|
29
|
+
- Consider `playsinline` a boolean attribute [#187](https://github.com/k0kubun/hamlit/issues/187)
|
30
|
+
*Thanks to @ghiculescu*
|
31
|
+
|
7
32
|
## [2.15.1](https://github.com/k0kubun/hamlit/compare/v2.15.0...v2.15.1) - 2021-07-23
|
8
33
|
|
9
34
|
### Fixed
|
@@ -7,7 +7,7 @@ module Hamlit::AttributeBuilder
|
|
7
7
|
defer reversed ismap seamless muted required
|
8
8
|
autofocus novalidate formnovalidate open pubdate
|
9
9
|
itemscope allowfullscreen default inert sortable
|
10
|
-
truespeed typemustmatch download].freeze
|
10
|
+
truespeed typemustmatch download playsinline].freeze
|
11
11
|
|
12
12
|
# Java extension is not implemented for JRuby yet.
|
13
13
|
# TruffleRuby does not implement `rb_ary_sort_bang`, etc.
|
data/lib/hamlit/cli.rb
CHANGED
@@ -6,8 +6,9 @@ require 'hamlit/string_splitter'
|
|
6
6
|
module Hamlit
|
7
7
|
class Compiler
|
8
8
|
class ScriptCompiler
|
9
|
-
def initialize(identity)
|
9
|
+
def initialize(identity, options)
|
10
10
|
@identity = identity
|
11
|
+
@disable_capture = options[:disable_capture]
|
11
12
|
end
|
12
13
|
|
13
14
|
def compile(node, &block)
|
@@ -77,9 +78,10 @@ module Hamlit
|
|
77
78
|
[:code, ')'],
|
78
79
|
]
|
79
80
|
else
|
81
|
+
content = [:multi, [:newline], yield(node)]
|
80
82
|
[:multi,
|
81
83
|
[:block, "#{var} = #{node.value[:text]}",
|
82
|
-
|
84
|
+
@disable_capture ? content : [:capture, Temple::Utils.unique_name, content],
|
83
85
|
],
|
84
86
|
]
|
85
87
|
end
|
data/lib/hamlit/compiler.rb
CHANGED
@@ -16,7 +16,7 @@ module Hamlit
|
|
16
16
|
@comment_compiler = CommentCompiler.new
|
17
17
|
@doctype_compiler = DoctypeCompiler.new(options)
|
18
18
|
@filter_compiler = Filters.new(options)
|
19
|
-
@script_compiler = ScriptCompiler.new(identity)
|
19
|
+
@script_compiler = ScriptCompiler.new(identity, options)
|
20
20
|
@silent_script_compiler = SilentScriptCompiler.new
|
21
21
|
@tag_compiler = TagCompiler.new(identity, options)
|
22
22
|
end
|
data/lib/hamlit/engine.rb
CHANGED
data/lib/hamlit/parser.rb
CHANGED
@@ -20,6 +20,7 @@ module Hamlit
|
|
20
20
|
autoclose
|
21
21
|
escape_html
|
22
22
|
escape_attrs
|
23
|
+
check_syntax
|
23
24
|
].freeze
|
24
25
|
|
25
26
|
def initialize(options = {})
|
@@ -35,6 +36,7 @@ module Hamlit
|
|
35
36
|
end
|
36
37
|
HamlParser.new(HamlOptions.new(@options)).call(template)
|
37
38
|
rescue ::Hamlit::HamlError => e
|
39
|
+
raise e if @options[:check_syntax]
|
38
40
|
error_with_lineno(e)
|
39
41
|
end
|
40
42
|
|
@@ -15,6 +15,7 @@ module Hamlit
|
|
15
15
|
use_html_safe: true,
|
16
16
|
streaming: true,
|
17
17
|
buffer_class: 'ActionView::OutputBuffer',
|
18
|
+
disable_capture: true,
|
18
19
|
}
|
19
20
|
end
|
20
21
|
|
@@ -34,8 +35,10 @@ module Hamlit
|
|
34
35
|
end
|
35
36
|
|
36
37
|
if ActionView::Base.try(:annotate_rendered_view_with_filenames) && template.format == :html
|
37
|
-
options
|
38
|
-
|
38
|
+
options = options.merge(
|
39
|
+
preamble: "<!-- BEGIN #{template.short_identifier} -->\n",
|
40
|
+
postamble: "<!-- END #{template.short_identifier} -->\n",
|
41
|
+
)
|
39
42
|
end
|
40
43
|
|
41
44
|
Engine.new(options).call(source)
|
data/lib/hamlit/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: hamlit
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.16.1
|
5
5
|
platform: java
|
6
6
|
authors:
|
7
7
|
- Takashi Kokubun
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-08-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
requirement: !ruby/object:Gem::Requirement
|
@@ -359,7 +359,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
359
359
|
- !ruby/object:Gem::Version
|
360
360
|
version: '0'
|
361
361
|
requirements: []
|
362
|
-
rubygems_version: 3.
|
362
|
+
rubygems_version: 3.2.29
|
363
363
|
signing_key:
|
364
364
|
specification_version: 4
|
365
365
|
summary: High Performance Haml Implementation
|