hamlit 2.15.2 → 2.16.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +24 -0
- data/lib/hamlit/cli.rb +1 -0
- data/lib/hamlit/compiler/script_compiler.rb +3 -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: fcce9bd99678dbe36651b82eff53e60d3c36e518f05e6a6dba18856ce6d16bc0
|
4
|
+
data.tar.gz: 3264ed62419fdf42e1fb05452c58e6b2cc5f6575f33b13b8322cbef650a70a9a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9a78f921253b5512072adccb7ba02bd28987f9c9f84b7bd0dc468a040249bb567c0432bc994a763a1516d09a6fde04a5eb50dbbf3f0a0dd835a442bca05f5838
|
7
|
+
data.tar.gz: fba0599895195d4cb4c82c3a2d213d451d88bb5c82fa338093674c9416d57ad88436547d50131777fc7f0c1dc17f79f4c91d08a72a839d8d22e3f5d1b2f33507
|
data/CHANGELOG.md
CHANGED
@@ -4,6 +4,30 @@ 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.2](https://github.com/k0kubun/hamlit/compare/v2.16.1...v2.16.2) - 2022-08-07
|
8
|
+
|
9
|
+
### Fixed
|
10
|
+
|
11
|
+
- Fix an issue when `disable_capture: false` is set and a Ruby comment is put after `do`
|
12
|
+
|
13
|
+
## [2.16.1](https://github.com/k0kubun/hamlit/compare/v2.16.0...v2.16.1) - 2022-08-07
|
14
|
+
|
15
|
+
### Added
|
16
|
+
|
17
|
+
- Introduce `:disable_capture` option to capture a block
|
18
|
+
- Default: `disable_capture: true` (backward-compatible)
|
19
|
+
- For Rails, this must be `true` anyway to use Rails-native capturing.
|
20
|
+
- If you override the option like `disable_capture: false` in Hamlit::Template,
|
21
|
+
you can capture a block content like `= render do ...`.
|
22
|
+
|
23
|
+
## [2.16.0](https://github.com/k0kubun/hamlit/compare/v2.15.2...v2.16.0) - 2022-02-03
|
24
|
+
|
25
|
+
### Added
|
26
|
+
|
27
|
+
- Raise an exception on a Haml-level syntax error with `hamlit compile -c`
|
28
|
+
[#189](https://github.com/k0kubun/hamlit/issues/189)
|
29
|
+
*Thanks to @dlwr*
|
30
|
+
|
7
31
|
## [2.15.2](https://github.com/k0kubun/hamlit/compare/v2.15.1...v2.15.2) - 2022-01-04
|
8
32
|
|
9
33
|
### Fixed
|
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)
|
@@ -79,7 +80,7 @@ module Hamlit
|
|
79
80
|
else
|
80
81
|
[:multi,
|
81
82
|
[:block, "#{var} = #{node.value[:text]}",
|
82
|
-
[:multi, [:newline], yield(node)]
|
83
|
+
[:multi, [:newline], @disable_capture ? yield(node) : [:capture, Temple::Utils.unique_name, yield(node)]]
|
83
84
|
],
|
84
85
|
]
|
85
86
|
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.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Takashi Kokubun
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-
|
11
|
+
date: 2022-08-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: temple
|
@@ -360,7 +360,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
360
360
|
- !ruby/object:Gem::Version
|
361
361
|
version: '0'
|
362
362
|
requirements: []
|
363
|
-
rubygems_version: 3.
|
363
|
+
rubygems_version: 3.3.7
|
364
364
|
signing_key:
|
365
365
|
specification_version: 4
|
366
366
|
summary: High Performance Haml Implementation
|