haml 6.3.0 → 6.4.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.
- checksums.yaml +4 -4
- data/.github/workflows/release.yml +46 -0
- data/.github/workflows/test.yml +5 -2
- data/CHANGELOG.md +13 -1
- data/Gemfile +7 -0
- data/README.md +1 -0
- data/REFERENCE.md +9 -16
- data/haml.gemspec +2 -0
- data/lib/haml/attribute_builder.rb +2 -2
- data/lib/haml/attribute_compiler.rb +1 -1
- data/lib/haml/filters/plain.rb +1 -1
- data/lib/haml/filters/ruby.rb +1 -1
- data/lib/haml/parser.rb +1 -1
- data/lib/haml/rails_template.rb +2 -2
- data/lib/haml/version.rb +1 -1
- metadata +5 -6
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 313ffec5cc79d2b238173fde9769ac60d26b54bf15d3deda68adc84d0849620b
|
|
4
|
+
data.tar.gz: 143e9115612a2555a4ce34c817745e330548a7eaedf98bc819ead44b2156f8ad
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 117f3811b514f8abd4142cdc8022e282e5a5434c5c0f6904e7eaff7655f58894e3486c999282f0140b6011016b52b139036071792c3ba33494de73342d512d77
|
|
7
|
+
data.tar.gz: 99e76cc2438c8ba70aaf39b3ccc0df9b610e3ac06de35b8865c2f2ce5aa692f9642791b863602eef5e382d60224fdb44a143074c11f072ccad7556ae1461b261
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
name: Release
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
tags:
|
|
6
|
+
- 'v*'
|
|
7
|
+
|
|
8
|
+
permissions:
|
|
9
|
+
contents: read
|
|
10
|
+
|
|
11
|
+
jobs:
|
|
12
|
+
push:
|
|
13
|
+
if: github.repository_owner == 'haml'
|
|
14
|
+
runs-on: ubuntu-latest
|
|
15
|
+
|
|
16
|
+
environment:
|
|
17
|
+
name: rubygems.org
|
|
18
|
+
url: https://rubygems.org/gems/haml
|
|
19
|
+
|
|
20
|
+
permissions:
|
|
21
|
+
contents: write
|
|
22
|
+
id-token: write
|
|
23
|
+
|
|
24
|
+
steps:
|
|
25
|
+
- name: Harden Runner
|
|
26
|
+
uses: step-security/harden-runner@f4a75cfd619ee5ce8d5b864b0d183aff3c69b55a # v2.13.1
|
|
27
|
+
with:
|
|
28
|
+
egress-policy: audit
|
|
29
|
+
|
|
30
|
+
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
|
31
|
+
|
|
32
|
+
- name: Set up Ruby
|
|
33
|
+
uses: ruby/setup-ruby@eaecf785f6a34567a6d97f686bbb7bccc1ac1e5c # v1.237.0
|
|
34
|
+
with:
|
|
35
|
+
bundler-cache: true
|
|
36
|
+
ruby-version: ruby
|
|
37
|
+
|
|
38
|
+
- name: Publish to RubyGems
|
|
39
|
+
uses: rubygems/release-gem@a25424ba2ba8b387abc8ef40807c2c85b96cbe32 # v1.1.1
|
|
40
|
+
|
|
41
|
+
- name: Create GitHub release
|
|
42
|
+
run: |
|
|
43
|
+
tag_name="$(git describe --tags --abbrev=0)"
|
|
44
|
+
gh release create "${tag_name}" --verify-tag --generate-notes
|
|
45
|
+
env:
|
|
46
|
+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
data/.github/workflows/test.yml
CHANGED
|
@@ -23,10 +23,13 @@ jobs:
|
|
|
23
23
|
- '3.0'
|
|
24
24
|
- '3.1'
|
|
25
25
|
- '3.2'
|
|
26
|
+
- '3.3'
|
|
27
|
+
- '3.4'
|
|
28
|
+
- ruby-head
|
|
26
29
|
- jruby
|
|
27
|
-
- truffleruby
|
|
30
|
+
- truffleruby
|
|
28
31
|
steps:
|
|
29
|
-
- uses: actions/checkout@
|
|
32
|
+
- uses: actions/checkout@v4
|
|
30
33
|
- run: sudo apt-get update && sudo apt-get install -y nodejs libxslt-dev # nodejs for execjs, libxslt for TruffleRuby nokogiri
|
|
31
34
|
- name: Set up Ruby
|
|
32
35
|
uses: ruby/setup-ruby@v1
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,18 @@
|
|
|
1
1
|
# Haml Changelog
|
|
2
2
|
|
|
3
|
+
## 6.4.0
|
|
4
|
+
|
|
5
|
+
* Authorize characters in attribute name for vuejs https://github.com/haml/haml/pull/1172
|
|
6
|
+
* Compile new-style attributes statically https://github.com/haml/haml/pull/1165
|
|
7
|
+
* Remove newlines from template annotation comments https://github.com/haml/haml/pull/1186
|
|
8
|
+
* Fix line numbers within a :ruby filter https://github.com/haml/haml/pull/1166
|
|
9
|
+
* Fix .class + nested class array bug https://github.com/haml/haml/pull/1191
|
|
10
|
+
|
|
11
|
+
## 6.3.1
|
|
12
|
+
|
|
13
|
+
* Optimize string transformation using `String#tr` https://github.com/haml/haml/pull/1168
|
|
14
|
+
* Provide a Changelog link on rubygems.org https://github.com/haml/haml/pull/1157
|
|
15
|
+
|
|
3
16
|
## 6.3.0
|
|
4
17
|
|
|
5
18
|
* Remove `Haml::RailsTemplate#default_format` that was added in v6.1.3 for Turbo [#1152](https://github.com/haml/haml/issues/1152), [#1154](https://github.com/haml/haml/issues/1154) ([discussion](https://github.com/haml/haml/pull/1144#issuecomment-1755088572))
|
|
@@ -8,7 +21,6 @@
|
|
|
8
21
|
## 6.2.5
|
|
9
22
|
|
|
10
23
|
* Deprecate `Haml::RailsTemplate#default_format` that was added in v6.1.3 for Turbo ([discussion](https://github.com/haml/haml/pull/1144#issuecomment-1755088572))
|
|
11
|
-
* See [the reference](https://github.com/haml/haml/blob/v6.2.5/REFERENCE.md#turbo) for suggested alternatives.
|
|
12
24
|
|
|
13
25
|
## 6.2.4
|
|
14
26
|
|
data/Gemfile
CHANGED
|
@@ -25,3 +25,10 @@ end
|
|
|
25
25
|
if RUBY_VERSION < '2.6'
|
|
26
26
|
gem 'rake-compiler', '< 1.2.4'
|
|
27
27
|
end
|
|
28
|
+
|
|
29
|
+
# Temporary workaround to ensure Ruby 2.5 and 2.6 can pass tests with Rails 6.1
|
|
30
|
+
# Reference: https://github.com/rails/rails/issues/54260
|
|
31
|
+
# TODO: Remove this workaround when dropping support for Rails versions below 7.1
|
|
32
|
+
if RUBY_VERSION < '2.7'
|
|
33
|
+
gem 'concurrent-ruby', '< 1.3.5'
|
|
34
|
+
end
|
data/README.md
CHANGED
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
[](https://github.com/haml/haml/actions/workflows/test.yml)
|
|
5
5
|
[](https://codeclimate.com/github/haml/haml)
|
|
6
6
|
[](https://inch-ci.org/github/haml/haml)
|
|
7
|
+
[](https://discord.gg/G8dEAwvV2Y)
|
|
7
8
|
|
|
8
9
|
Haml is a templating engine for HTML. It's designed to make it both easier and
|
|
9
10
|
more pleasant to write HTML documents, by eliminating redundancy, reflecting the
|
data/REFERENCE.md
CHANGED
|
@@ -105,7 +105,7 @@ set :haml, { escape_html: false }
|
|
|
105
105
|
```
|
|
106
106
|
|
|
107
107
|
Finally, you can also set them by passing an options hash to `Haml::Engine.new` or `Haml::Template.new`.
|
|
108
|
-
For the complete list of available options, please see `Haml::Engine
|
|
108
|
+
For the complete list of available options, please see [`Haml::Engine`](https://github.com/haml/haml/blob/main/lib/haml/engine.rb).
|
|
109
109
|
|
|
110
110
|
## Plain Text
|
|
111
111
|
|
|
@@ -320,7 +320,7 @@ or using `true` and `false`:
|
|
|
320
320
|
%input(selected=true)
|
|
321
321
|
|
|
322
322
|
This feature works only for attributes that are included in
|
|
323
|
-
[`Haml::
|
|
323
|
+
[`Haml::BOOLEAN_ATTRIBUTES`](https://github.com/haml/haml/blob/main/lib/haml/attribute_compiler.rb#L8),
|
|
324
324
|
as well as `data-` and `aria-` attributes.
|
|
325
325
|
|
|
326
326
|
%input{'data-hidden' => false}
|
|
@@ -360,13 +360,6 @@ will render as:
|
|
|
360
360
|
|
|
361
361
|
<a data-author-id='123' data-category='7' href='/posts'>Posts By Author</a>
|
|
362
362
|
|
|
363
|
-
Notice that the underscore in `author_id` was replaced with a hyphen. If you wish
|
|
364
|
-
to suppress this behavior, you can set Haml's
|
|
365
|
-
{Haml::Options#hyphenate_data_attrs `:hyphenate_data_attrs` option} to `false`,
|
|
366
|
-
and the output will be rendered as:
|
|
367
|
-
|
|
368
|
-
<a data-author_id='123' data-category='7' href='/posts'>Posts By Author</a>
|
|
369
|
-
|
|
370
363
|
This expansion of hashes is recursive – any value of the child hash that is
|
|
371
364
|
itself a hash will create an attribute for each entry, with the attribute name
|
|
372
365
|
prefixed with all ancestor keys. For example:
|
|
@@ -568,7 +561,7 @@ prefix for both the id and class attributes. For example:
|
|
|
568
561
|
# file: app/controllers/users_controller.rb
|
|
569
562
|
|
|
570
563
|
def show
|
|
571
|
-
@user =
|
|
564
|
+
@user = FriendlyUser.find(15)
|
|
572
565
|
end
|
|
573
566
|
|
|
574
567
|
-# file: app/views/users/show.haml
|
|
@@ -579,7 +572,7 @@ prefix for both the id and class attributes. For example:
|
|
|
579
572
|
|
|
580
573
|
is compiled to:
|
|
581
574
|
|
|
582
|
-
<div class='
|
|
575
|
+
<div class='greeting_friendly_user' id='greeting_friendly_user_15'>
|
|
583
576
|
<bar class='fixnum' id='fixnum_581' />
|
|
584
577
|
Hello!
|
|
585
578
|
</div>
|
|
@@ -587,11 +580,11 @@ is compiled to:
|
|
|
587
580
|
If you require that the class be something other than the underscored object's
|
|
588
581
|
class, you can implement the `haml_object_ref` method on the object.
|
|
589
582
|
|
|
590
|
-
# file: app/models/
|
|
583
|
+
# file: app/models/friendly_user.rb
|
|
591
584
|
|
|
592
|
-
class
|
|
585
|
+
class FriendlyUser < ActiveRecord::Base
|
|
593
586
|
def haml_object_ref
|
|
594
|
-
"
|
|
587
|
+
"a_friendly_user"
|
|
595
588
|
end
|
|
596
589
|
end
|
|
597
590
|
|
|
@@ -602,7 +595,7 @@ class, you can implement the `haml_object_ref` method on the object.
|
|
|
602
595
|
|
|
603
596
|
is compiled to:
|
|
604
597
|
|
|
605
|
-
<div class='
|
|
598
|
+
<div class='a_friendly_user' id='a_friendly_user_15'>
|
|
606
599
|
Hello!
|
|
607
600
|
</div>
|
|
608
601
|
|
|
@@ -1298,7 +1291,7 @@ Blocks of literal text can be preserved using the [`:preserve` filter](#preserve
|
|
|
1298
1291
|
|
|
1299
1292
|
## Turbo
|
|
1300
1293
|
|
|
1301
|
-
For people using Turbo-rails
|
|
1294
|
+
For people using Turbo-rails need to either:
|
|
1302
1295
|
* follow the naming convention with the html format (ie. ensure any `.haml` files end `.html.haml`), or
|
|
1303
1296
|
* add a monkey patch as follows:
|
|
1304
1297
|
|
data/haml.gemspec
CHANGED
|
@@ -21,6 +21,8 @@ Gem::Specification.new do |spec|
|
|
|
21
21
|
|
|
22
22
|
spec.metadata = { 'rubygems_mfa_required' => 'true' }
|
|
23
23
|
|
|
24
|
+
spec.metadata["changelog_uri"] = spec.homepage + "/blob/main/CHANGELOG.md"
|
|
25
|
+
|
|
24
26
|
spec.required_ruby_version = '>= 2.1.0'
|
|
25
27
|
|
|
26
28
|
spec.add_dependency 'temple', '>= 0.8.2'
|
|
@@ -54,7 +54,7 @@ module Haml::AttributeBuilder
|
|
|
54
54
|
when value.is_a?(String)
|
|
55
55
|
classes += value.split(' ')
|
|
56
56
|
when value.is_a?(Array)
|
|
57
|
-
classes += value.select { |v| v }
|
|
57
|
+
classes += value.flatten.select { |v| v }
|
|
58
58
|
when value
|
|
59
59
|
classes << value.to_s
|
|
60
60
|
end
|
|
@@ -105,7 +105,7 @@ module Haml::AttributeBuilder
|
|
|
105
105
|
if k.nil?
|
|
106
106
|
flattened[key] = v
|
|
107
107
|
else
|
|
108
|
-
flattened["#{key}-#{k.to_s.
|
|
108
|
+
flattened["#{key}-#{k.to_s.tr('_', '-')}"] = v
|
|
109
109
|
end
|
|
110
110
|
end
|
|
111
111
|
else
|
|
@@ -98,7 +98,7 @@ module Haml
|
|
|
98
98
|
def compile_boolean!(temple, key, values)
|
|
99
99
|
exp = literal_for(values.last)
|
|
100
100
|
|
|
101
|
-
if Temple::StaticAnalyzer.static?(exp)
|
|
101
|
+
if values.last.first == :static || Temple::StaticAnalyzer.static?(exp)
|
|
102
102
|
value = eval(exp)
|
|
103
103
|
case value
|
|
104
104
|
when true then temple << [:html, :attr, key, @format == :xhtml ? [:static, key] : [:multi]]
|
data/lib/haml/filters/plain.rb
CHANGED
data/lib/haml/filters/ruby.rb
CHANGED
data/lib/haml/parser.rb
CHANGED
data/lib/haml/rails_template.rb
CHANGED
|
@@ -40,8 +40,8 @@ module Haml
|
|
|
40
40
|
|
|
41
41
|
if ActionView::Base.try(:annotate_rendered_view_with_filenames) && template.format == :html
|
|
42
42
|
options = options.merge(
|
|
43
|
-
preamble: "<!-- BEGIN #{template.short_identifier}
|
|
44
|
-
postamble: "<!-- END #{template.short_identifier}
|
|
43
|
+
preamble: "<!-- BEGIN #{template.short_identifier} -->",
|
|
44
|
+
postamble: "<!-- END #{template.short_identifier} -->",
|
|
45
45
|
)
|
|
46
46
|
end
|
|
47
47
|
|
data/lib/haml/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: haml
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 6.
|
|
4
|
+
version: 6.4.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Natalie Weizenbaum
|
|
@@ -9,10 +9,9 @@ authors:
|
|
|
9
9
|
- Norman Clarke
|
|
10
10
|
- Akira Matsuda
|
|
11
11
|
- Takashi Kokubun
|
|
12
|
-
autorequire:
|
|
13
12
|
bindir: exe
|
|
14
13
|
cert_chain: []
|
|
15
|
-
date:
|
|
14
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
|
16
15
|
dependencies:
|
|
17
16
|
- !ruby/object:Gem::Dependency
|
|
18
17
|
name: temple
|
|
@@ -248,6 +247,7 @@ extensions: []
|
|
|
248
247
|
extra_rdoc_files: []
|
|
249
248
|
files:
|
|
250
249
|
- ".github/FUNDING.yml"
|
|
250
|
+
- ".github/workflows/release.yml"
|
|
251
251
|
- ".github/workflows/test.yml"
|
|
252
252
|
- ".gitignore"
|
|
253
253
|
- ".yardopts"
|
|
@@ -322,7 +322,7 @@ licenses:
|
|
|
322
322
|
- MIT
|
|
323
323
|
metadata:
|
|
324
324
|
rubygems_mfa_required: 'true'
|
|
325
|
-
|
|
325
|
+
changelog_uri: https://haml.info/blob/main/CHANGELOG.md
|
|
326
326
|
rdoc_options: []
|
|
327
327
|
require_paths:
|
|
328
328
|
- lib
|
|
@@ -337,8 +337,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
337
337
|
- !ruby/object:Gem::Version
|
|
338
338
|
version: '0'
|
|
339
339
|
requirements: []
|
|
340
|
-
rubygems_version: 3.
|
|
341
|
-
signing_key:
|
|
340
|
+
rubygems_version: 3.6.7
|
|
342
341
|
specification_version: 4
|
|
343
342
|
summary: An elegant, structured (X)HTML/XML templating engine.
|
|
344
343
|
test_files: []
|