haml 5.1.2 → 6.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/FUNDING.yml +3 -0
- data/.github/workflows/test.yml +36 -0
- data/.gitignore +16 -15
- data/.yardopts +0 -3
- data/CHANGELOG.md +189 -1
- data/FAQ.md +1 -1
- data/Gemfile +20 -12
- data/MIT-LICENSE +1 -1
- data/README.md +10 -17
- data/REFERENCE.md +129 -164
- data/Rakefile +15 -89
- data/bin/bench +66 -0
- data/bin/console +11 -0
- data/bin/ruby +3 -0
- data/bin/setup +7 -0
- data/bin/stackprof +27 -0
- data/bin/test +24 -0
- data/exe/haml +6 -0
- data/haml.gemspec +34 -35
- data/lib/haml/ambles.rb +20 -0
- data/lib/haml/attribute_builder.rb +131 -133
- data/lib/haml/attribute_compiler.rb +91 -182
- data/lib/haml/attribute_parser.rb +92 -126
- data/lib/haml/cli.rb +154 -0
- data/lib/haml/compiler/children_compiler.rb +155 -0
- data/lib/haml/compiler/comment_compiler.rb +51 -0
- data/lib/haml/compiler/doctype_compiler.rb +52 -0
- data/lib/haml/compiler/script_compiler.rb +114 -0
- data/lib/haml/compiler/silent_script_compiler.rb +24 -0
- data/lib/haml/compiler/tag_compiler.rb +76 -0
- data/lib/haml/compiler.rb +63 -296
- data/lib/haml/dynamic_merger.rb +67 -0
- data/lib/haml/engine.rb +48 -227
- data/lib/haml/error.rb +5 -4
- data/lib/haml/escape.rb +13 -0
- data/lib/haml/escape_any.rb +21 -0
- data/lib/haml/filters/base.rb +12 -0
- data/lib/haml/filters/cdata.rb +20 -0
- data/lib/haml/filters/coffee.rb +17 -0
- data/lib/haml/filters/css.rb +33 -0
- data/lib/haml/filters/erb.rb +10 -0
- data/lib/haml/filters/escaped.rb +22 -0
- data/lib/haml/filters/javascript.rb +33 -0
- data/lib/haml/filters/less.rb +20 -0
- data/lib/haml/filters/markdown.rb +11 -0
- data/lib/haml/filters/plain.rb +29 -0
- data/lib/haml/filters/preserve.rb +22 -0
- data/lib/haml/filters/ruby.rb +10 -0
- data/lib/haml/filters/sass.rb +15 -0
- data/lib/haml/filters/scss.rb +15 -0
- data/lib/haml/filters/text_base.rb +25 -0
- data/lib/haml/filters/tilt_base.rb +59 -0
- data/lib/haml/filters.rb +54 -378
- data/lib/haml/force_escape.rb +29 -0
- data/lib/haml/helpers.rb +3 -691
- data/lib/haml/html.rb +22 -0
- data/lib/haml/identity.rb +13 -0
- data/lib/haml/object_ref.rb +35 -0
- data/lib/haml/parser.rb +190 -27
- data/lib/haml/rails_helpers.rb +53 -0
- data/lib/haml/rails_template.rb +62 -0
- data/lib/haml/railtie.rb +3 -41
- data/lib/haml/ruby_expression.rb +32 -0
- data/lib/haml/string_splitter.rb +140 -0
- data/lib/haml/template.rb +15 -34
- data/lib/haml/temple_line_counter.rb +2 -1
- data/lib/haml/util.rb +20 -16
- data/lib/haml/version.rb +1 -2
- data/lib/haml/whitespace.rb +8 -0
- data/lib/haml.rb +8 -20
- metadata +205 -53
- data/.gitmodules +0 -3
- data/.travis.yml +0 -97
- data/TODO +0 -24
- data/benchmark.rb +0 -70
- data/bin/haml +0 -9
- data/lib/haml/.gitattributes +0 -1
- data/lib/haml/buffer.rb +0 -238
- data/lib/haml/escapable.rb +0 -50
- data/lib/haml/exec.rb +0 -347
- data/lib/haml/generator.rb +0 -42
- data/lib/haml/helpers/action_view_extensions.rb +0 -60
- data/lib/haml/helpers/action_view_mods.rb +0 -132
- data/lib/haml/helpers/action_view_xss_mods.rb +0 -60
- data/lib/haml/helpers/safe_erubi_template.rb +0 -20
- data/lib/haml/helpers/safe_erubis_template.rb +0 -33
- data/lib/haml/helpers/xss_mods.rb +0 -111
- data/lib/haml/options.rb +0 -273
- data/lib/haml/plugin.rb +0 -37
- data/lib/haml/sass_rails_filter.rb +0 -47
- data/lib/haml/template/options.rb +0 -27
- data/lib/haml/temple_engine.rb +0 -123
- data/yard/default/.gitignore +0 -1
- data/yard/default/fulldoc/html/css/common.sass +0 -15
- data/yard/default/layout/html/footer.erb +0 -12
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b8754d03da194f9c74e620887cbc29d3aa95d93651129ca33aa60dc72be08dd1
|
4
|
+
data.tar.gz: f4d26ea914200ac345926641d0d0d8ba36fb4b62a47600f63015d5c2d1dc8a11
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: eccf9fb6676267281b3c918425e93f07e8771c2f41e8481a08f327cb2ddbd5b53e07f3c9025f37c1abc977ad732d3b2f67d3023c4e1f356897bed03e3572ca20
|
7
|
+
data.tar.gz: 5ecd4d17716d5b0b4be7b57ebcfd28457f1b803cd376e37d4bcece2f30632e4e46d988eba1048e0c303a3599db5049b464e31854dda7f538bfe30565169769e9
|
data/.github/FUNDING.yml
ADDED
@@ -0,0 +1,36 @@
|
|
1
|
+
name: test
|
2
|
+
on:
|
3
|
+
push:
|
4
|
+
branches:
|
5
|
+
- main
|
6
|
+
pull_request:
|
7
|
+
types:
|
8
|
+
- opened
|
9
|
+
- synchronize
|
10
|
+
- reopened
|
11
|
+
schedule:
|
12
|
+
- cron: "00 15 * * *"
|
13
|
+
jobs:
|
14
|
+
test:
|
15
|
+
runs-on: ubuntu-latest
|
16
|
+
strategy:
|
17
|
+
fail-fast: false
|
18
|
+
matrix:
|
19
|
+
ruby:
|
20
|
+
- '2.5'
|
21
|
+
- '2.6'
|
22
|
+
- '2.7'
|
23
|
+
- '3.0'
|
24
|
+
- '3.1'
|
25
|
+
- '3.2'
|
26
|
+
- jruby
|
27
|
+
- truffleruby-head
|
28
|
+
steps:
|
29
|
+
- uses: actions/checkout@v3
|
30
|
+
- run: sudo apt-get update && sudo apt-get install -y nodejs libxslt-dev # nodejs for execjs, libxslt for TruffleRuby nokogiri
|
31
|
+
- name: Set up Ruby
|
32
|
+
uses: ruby/setup-ruby@v1
|
33
|
+
with:
|
34
|
+
ruby-version: ${{ matrix.ruby }}
|
35
|
+
bundler-cache: true
|
36
|
+
- run: bundle exec rake test
|
data/.gitignore
CHANGED
@@ -1,18 +1,19 @@
|
|
1
|
+
/.bundle/
|
1
2
|
/.yardoc
|
2
|
-
/
|
3
|
-
/
|
4
|
-
|
5
|
-
/
|
6
|
-
/
|
7
|
-
/
|
8
|
-
|
9
|
-
/
|
10
|
-
|
3
|
+
/Gemfile.lock
|
4
|
+
/_yardoc/
|
5
|
+
/.idea
|
6
|
+
/coverage/
|
7
|
+
/doc/
|
8
|
+
/pkg/
|
9
|
+
/spec/reports/
|
10
|
+
/tmp/
|
11
|
+
/haml/
|
11
12
|
.sass-cache
|
12
|
-
.rbenv-version
|
13
|
-
.rbx
|
14
13
|
.ruby-version
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
14
|
+
*.bundle
|
15
|
+
*.so
|
16
|
+
*.su
|
17
|
+
*.a
|
18
|
+
*.o
|
19
|
+
*.swp
|
data/.yardopts
CHANGED
@@ -7,10 +7,7 @@
|
|
7
7
|
--title "Haml Documentation"
|
8
8
|
--query 'object.type != :classvariable'
|
9
9
|
--query 'object.type != :constant || @api && @api.text == "public"'
|
10
|
-
--exclude lib/haml/plugin.rb
|
11
10
|
--exclude lib/haml/railtie.rb
|
12
|
-
--exclude lib/haml/helpers/action_view_mods.rb
|
13
|
-
--exclude lib/haml/helpers/xss_mods.rb
|
14
11
|
--hide-void-return
|
15
12
|
--protected
|
16
13
|
--no-private
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,193 @@
|
|
1
1
|
# Haml Changelog
|
2
2
|
|
3
|
+
## 6.3.0
|
4
|
+
|
5
|
+
* 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))
|
6
|
+
* See [the reference](https://github.com/haml/haml/blob/v6.3.0/REFERENCE.md#turbo) for suggested alternatives.
|
7
|
+
|
8
|
+
## 6.2.5
|
9
|
+
|
10
|
+
* 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
|
+
|
13
|
+
## 6.2.4
|
14
|
+
|
15
|
+
* Support case-in statement [#1155](https://github.com/haml/haml/issues/1155)
|
16
|
+
|
17
|
+
## 6.2.3
|
18
|
+
|
19
|
+
* Resurrect RDFa doctype support [#1147](https://github.com/haml/haml/issues/1147)
|
20
|
+
|
21
|
+
## 6.2.2
|
22
|
+
|
23
|
+
* Allow adding custom attributes to `Haml::BOOLEAN_ATTRIBUTES` [#1148](https://github.com/haml/haml/issues/1148)
|
24
|
+
* Consider `aria-xxx: false` as a boolean attribute
|
25
|
+
|
26
|
+
## 6.2.1
|
27
|
+
|
28
|
+
* Fix v6.2.0's bug in rendering dynamic `aria` attributes [#1149](https://github.com/haml/haml/issues/1149)
|
29
|
+
|
30
|
+
## 6.2.0
|
31
|
+
|
32
|
+
* Drop the C extension [#1146](https://github.com/haml/haml/issues/1146)
|
33
|
+
|
34
|
+
## 6.1.4
|
35
|
+
|
36
|
+
* Let `Haml::Util.escape_html` use `ERB::Escape` if available [#1145](https://github.com/haml/haml/issues/1145)
|
37
|
+
|
38
|
+
## 6.1.3
|
39
|
+
|
40
|
+
* Add `Haml::RailsTemplate#default_format` for Turbo compatibility [#1144](https://github.com/haml/haml/issues/1144)
|
41
|
+
|
42
|
+
## 6.1.2
|
43
|
+
|
44
|
+
* Use the rails template path as `filename` [#1140](https://github.com/haml/haml/issues/1140)
|
45
|
+
|
46
|
+
## 6.1.1
|
47
|
+
|
48
|
+
* Fix an empty output of Ruby 3.1's Hash shorthand syntax [#1083](https://github.com/haml/haml/issues/1083)
|
49
|
+
|
50
|
+
## 6.1.0
|
51
|
+
|
52
|
+
* Optimize away a `to_s` call on `=` scripts
|
53
|
+
* Fix escaping for objects that return an `html_safe` string on `to_s` [#1117](https://github.com/haml/haml/issues/1117)
|
54
|
+
|
55
|
+
## 6.0.12
|
56
|
+
|
57
|
+
* Fix a whitespace removal with `>` and an `if`-`else` statement [#1114](https://github.com/haml/haml/issues/1114)
|
58
|
+
|
59
|
+
## 6.0.11
|
60
|
+
|
61
|
+
* Fix a whitespace removal with `>` and an `if` statement [#1114](https://github.com/haml/haml/issues/1114)
|
62
|
+
|
63
|
+
## 6.0.10
|
64
|
+
|
65
|
+
* Evaluate :erb filter in the template context like Haml 5
|
66
|
+
|
67
|
+
## 6.0.9
|
68
|
+
|
69
|
+
* Support sass-embedded [#1112](https://github.com/haml/haml/issues/1112)
|
70
|
+
|
71
|
+
## 6.0.8
|
72
|
+
|
73
|
+
* Support interpolation in HTML comments, which has not been working since 6.0.0
|
74
|
+
[#1107](https://github.com/haml/haml/issues/1107)
|
75
|
+
|
76
|
+
## 6.0.7
|
77
|
+
|
78
|
+
* `Haml::Engine` and `Haml::Template` use StringBuffer instead of ArrayBuffer
|
79
|
+
* It seems more performant in many cases with recent Ruby versions.
|
80
|
+
* `Haml::RailsTemplate` is not affected.
|
81
|
+
|
82
|
+
## 6.0.6
|
83
|
+
|
84
|
+
* Prevent CRuby from accidentally using the Ruby implementation fallback
|
85
|
+
* Reversing what v6.0.3 and v6.0.4 did, but still supporting Wasm.
|
86
|
+
|
87
|
+
## 6.0.5
|
88
|
+
|
89
|
+
* Resurrect `#haml_object_ref` support in an object reference [#1097](https://github.com/haml/haml/issues/1097)
|
90
|
+
* This was removed in 6.0.0, and added back in this version.
|
91
|
+
* Stop warning `remove_whitespace: true` option.
|
92
|
+
|
93
|
+
## 6.0.4
|
94
|
+
|
95
|
+
Released on October 2, 2022
|
96
|
+
([diff](https://github.com/haml/haml/compare/v6.0.3...v6.0.4)).
|
97
|
+
|
98
|
+
* Fix a parse failure of `%` in attributes [#1096](https://github.com/haml/haml/issues/1096)
|
99
|
+
* Add another fallback from C to Ruby for Wasm.
|
100
|
+
|
101
|
+
## 6.0.3
|
102
|
+
|
103
|
+
Released on September 28, 2022
|
104
|
+
([diff](https://github.com/haml/haml/compare/v6.0.2...v6.0.3)).
|
105
|
+
|
106
|
+
* For Wasm, fallback to Ruby when C extension is not available.
|
107
|
+
|
108
|
+
## 6.0.2
|
109
|
+
|
110
|
+
Released on September 28, 2022
|
111
|
+
([diff](https://github.com/haml/haml/compare/v6.0.1...v6.0.2)).
|
112
|
+
|
113
|
+
* Unescape HTML-safe arguments for `surround`, `succeed`, and `precede` on Rails
|
114
|
+
[#1088](https://github.com/haml/haml/issues/1088)
|
115
|
+
|
116
|
+
## 6.0.1
|
117
|
+
|
118
|
+
Released on September 23, 2022
|
119
|
+
([diff](https://github.com/haml/haml/compare/v6.0.0...v6.0.1)).
|
120
|
+
|
121
|
+
* Unescape HTML-safe interpolation on Rails [#1084](https://github.com/haml/haml/issues/1084)
|
122
|
+
* Resurrect Haml 5's `AttributeParser.available?` for syntax\_tree-haml [#1085](https://github.com/haml/haml/issues/1085)
|
123
|
+
|
124
|
+
## 6.0.0
|
125
|
+
|
126
|
+
Released on September 21, 2022
|
127
|
+
([diff](https://github.com/haml/haml/compare/v5.2.2...v6.0.0)).
|
128
|
+
|
129
|
+
* Replace the implementation with Hamlit
|
130
|
+
* Haml 6 is about 1.7x faster than Haml 5 in [this benchmark](benchmark/slim/run-benchmarks.rb).
|
131
|
+
* The parser is kept as is, but everything else is replaced.
|
132
|
+
* The `haml` CLI interface was also replaced.
|
133
|
+
* The interface of `Haml::Engine` is changed. `Haml::Template` is most likely what you need now.
|
134
|
+
* before: `Haml::Engine.new("%p Haml code!").render`
|
135
|
+
* after: `Haml::Template.new { "%p Haml code!" }.render`
|
136
|
+
* Most Haml helpers are removed.
|
137
|
+
* Rails:
|
138
|
+
* Kept: `find_and_reserve`, `preserve`, `surround`, `precede`, `succeed`, `capture_haml`
|
139
|
+
* Removed: `block_is_haml?`, `flatten`, `haml_concat`, `haml_indent`, `haml_tag`, `haml_tag_if`, `html_attrs`,
|
140
|
+
`html_escape`, `init_haml_helpers`, `is_haml?`, `list_of`, `non_haml`, `tab_down`, `tab_up`, `with_tabs`
|
141
|
+
* Tilt:
|
142
|
+
* Kept: `preserve`
|
143
|
+
* Removed: `block_is_haml?`, `capture_haml`, `escape_once`, `find_and_preserve`, `flatten`, `haml_concat`,
|
144
|
+
`haml_indent`, `haml_tag`, `haml_tag_if`, `html_attrs`, `html_escape`, `init_haml_helpers`, `is_haml?`,
|
145
|
+
`list_of`, `non_haml`, `precede`, `succeed`, `surround`, `tab_down`, `tab_up`, `with_tabs`
|
146
|
+
* `:ruby` filter
|
147
|
+
* Removed: `haml_io`
|
148
|
+
* Alternatives to the removed helpers:
|
149
|
+
* Some simple ones could work by copying [the original definition](https://github.com/haml/haml/blob/v5.2.2/lib/haml/helpers.rb).
|
150
|
+
* For helpers generating general HTML tags, also consider using what your framework provides, e.g. Rails `content_tag`.
|
151
|
+
Same applies to `capture_haml`, e.g. Rails `capture`.
|
152
|
+
* Ones that rely on `Haml::Buffer` have no direct alternative by design. They existed at the cost of performance.
|
153
|
+
You need to define a helper, instantiate a String buffer in it, append stuff to it, and call it inside `=`.
|
154
|
+
* Only the following attributes and `aria`/`data` attributes are considered boolean attributes:
|
155
|
+
* `allowfullscreen`, `async`, `autobuffer`, `autofocus`, `autoplay`, `checked`, `controls`, `default`,
|
156
|
+
`defer`, `disabled`, `download`, `formnovalidate`, `hidden`, `inert`, `ismap`, `itemscope`, `loop`,
|
157
|
+
`multiple`, `muted`, `novalidate`, `open`, `pubdate`, `readonly`, `required`, `reversed`, `scoped`,
|
158
|
+
`seamless`, `selected`, `sortable`, `truespeed`, `typemustmatch`
|
159
|
+
* Only `data` and `aria` attributes support using a nested Hash to render hyphenated attributes, e.g.
|
160
|
+
`data: { foo: 'bar' }` becomes `data-foo="bar"`, but this no longer works for non-`data`/`aria` attributes.
|
161
|
+
* Some legacy Rails integration is removed.
|
162
|
+
* The default value of `escape_html` option became true.
|
163
|
+
* `-` script lines no longer support capturing. Only `=` lines are supported to yield a nested block.
|
164
|
+
* Overriding `data` attributes with another falsy `data-*` attribute that has the same name
|
165
|
+
is no longer supported. [#1105](https://github.com/haml/haml/issues/1105)
|
166
|
+
* :erb filter is not executed in the template context (fixed in 6.0.10)
|
167
|
+
|
168
|
+
## 5.2.2
|
169
|
+
|
170
|
+
Released on July 27, 2021
|
171
|
+
([diff](https://github.com/haml/haml/compare/v5.2.1...v5.2.2)).
|
172
|
+
|
173
|
+
* Support `config.action_view.annotate_rendered_view_with_filenames = true` of Rails 6.1
|
174
|
+
|
175
|
+
## 5.2.1
|
176
|
+
|
177
|
+
Released on November 30, 2020
|
178
|
+
([diff](https://github.com/haml/haml/compare/v5.2.0...v5.2.1)).
|
179
|
+
|
180
|
+
* Add in improved "multiline" support for attributes [#1043](https://github.com/haml/haml/issues/1043)
|
181
|
+
|
182
|
+
## 5.2
|
183
|
+
|
184
|
+
Released on September 28, 2020
|
185
|
+
([diff](https://github.com/haml/haml/compare/v5.1.2...v5.2.0)).
|
186
|
+
|
187
|
+
* Fix crash in the attribute optimizer when `#inspect` is overridden in TrueClass / FalseClass [#972](https://github.com/haml/haml/issues/972)
|
188
|
+
* Do not HTML-escape templates that are declared to be plaintext [#1014](https://github.com/haml/haml/issues/1014) (Thanks [@cesarizu](https://github.com/cesarizu))
|
189
|
+
* Class names are no longer ordered alphabetically, and now follow a new specification as laid out in REFERENCE [#306](https://github.com/haml/haml/issues/306)
|
190
|
+
|
3
191
|
## 5.1.2
|
4
192
|
|
5
193
|
Released on August 6, 2019
|
@@ -1287,7 +1475,7 @@ Haml 2.2 introduces a new syntax for attributes
|
|
1287
1475
|
based on the HTML syntax.
|
1288
1476
|
For example:
|
1289
1477
|
|
1290
|
-
%a(href="
|
1478
|
+
%a(href="https://haml.info" title="Haml's so cool!")
|
1291
1479
|
%img(src="/images/haml.png" alt="Haml")
|
1292
1480
|
|
1293
1481
|
There are two main reasons for this.
|
data/FAQ.md
CHANGED
@@ -141,7 +141,7 @@ For other plugins, a little searching will probably turn up a way to fix them as
|
|
141
141
|
|
142
142
|
## You still haven't answered my question!
|
143
143
|
|
144
|
-
Sorry! Try looking at the [Haml](
|
144
|
+
Sorry! Try looking at the [Haml](https://haml.info/docs/yardoc/file.REFERENCE.html) reference,
|
145
145
|
If you can't find an answer there,
|
146
146
|
feel free to ask in `#haml` on irc.freenode.net
|
147
147
|
or send an email to the [mailing list](http://groups.google.com/group/haml).
|
data/Gemfile
CHANGED
@@ -1,19 +1,27 @@
|
|
1
|
-
source
|
1
|
+
source 'https://rubygems.org'
|
2
|
+
|
3
|
+
git_source(:github) do |repo_name|
|
4
|
+
repo_name = "#{repo_name}/#{repo_name}" unless repo_name.include?("/")
|
5
|
+
"https://github.com/#{repo_name}.git"
|
6
|
+
end
|
7
|
+
|
8
|
+
# Specify your gem's dependencies in haml.gemspec
|
2
9
|
gemspec
|
3
10
|
|
4
|
-
gem
|
5
|
-
gem
|
11
|
+
gem 'benchmark-ips', '2.3.0'
|
12
|
+
gem 'maxitest'
|
13
|
+
gem 'pry'
|
6
14
|
|
7
|
-
|
8
|
-
gem
|
9
|
-
|
10
|
-
gem
|
11
|
-
end
|
15
|
+
if /java/ === RUBY_PLATFORM # JRuby
|
16
|
+
gem 'pandoc-ruby'
|
17
|
+
else
|
18
|
+
gem 'redcarpet'
|
12
19
|
|
13
|
-
|
14
|
-
|
20
|
+
if RUBY_PLATFORM !~ /mswin|mingw/ && RUBY_ENGINE != 'truffleruby'
|
21
|
+
gem 'stackprof'
|
22
|
+
end
|
15
23
|
end
|
16
24
|
|
17
|
-
|
18
|
-
gem
|
25
|
+
if RUBY_VERSION < '2.6'
|
26
|
+
gem 'rake-compiler', '< 1.2.4'
|
19
27
|
end
|
data/MIT-LICENSE
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
Copyright (c) 2006-
|
1
|
+
Copyright (c) 2006-2021 Hampton Catlin, Natalie Weizenbaum and Takashi Kokubun
|
2
2
|
|
3
3
|
Permission is hereby granted, free of charge, to any person obtaining
|
4
4
|
a copy of this software and associated documentation files (the
|
data/README.md
CHANGED
@@ -1,10 +1,9 @@
|
|
1
1
|
# Haml
|
2
2
|
|
3
|
-
[![Gem Version](https://badge.fury.io/rb/haml.svg)](
|
4
|
-
[![
|
3
|
+
[![Gem Version](https://badge.fury.io/rb/haml.svg)](https://rubygems.org/gems/haml)
|
4
|
+
[![test](https://github.com/haml/haml/actions/workflows/test.yml/badge.svg)](https://github.com/haml/haml/actions/workflows/test.yml)
|
5
5
|
[![Code Climate](https://codeclimate.com/github/haml/haml/badges/gpa.svg)](https://codeclimate.com/github/haml/haml)
|
6
|
-
[![
|
7
|
-
[![Inline docs](http://inch-ci.org/github/haml/haml.png)](http://inch-ci.org/github/haml/haml)
|
6
|
+
[![Inline docs](https://inch-ci.org/github/haml/haml.svg)](https://inch-ci.org/github/haml/haml)
|
8
7
|
|
9
8
|
Haml is a templating engine for HTML. It's designed to make it both easier and
|
10
9
|
more pleasant to write HTML documents, by eliminating redundancy, reflecting the
|
@@ -23,7 +22,7 @@ gem install haml
|
|
23
22
|
After you write some Haml, you can run
|
24
23
|
|
25
24
|
~~~sh
|
26
|
-
haml document.haml
|
25
|
+
haml render document.haml
|
27
26
|
~~~
|
28
27
|
|
29
28
|
to compile it to HTML. For more information on these commands, check out
|
@@ -32,7 +31,7 @@ to compile it to HTML. For more information on these commands, check out
|
|
32
31
|
haml --help
|
33
32
|
~~~
|
34
33
|
|
35
|
-
To use Haml
|
34
|
+
To use Haml programmatically, check out the [YARD documentation](https://haml.info/docs/yardoc/).
|
36
35
|
|
37
36
|
## Using Haml with Rails
|
38
37
|
|
@@ -42,8 +41,8 @@ To use Haml with Rails, simply add Haml to your Gemfile and run `bundle`.
|
|
42
41
|
gem 'haml'
|
43
42
|
~~~
|
44
43
|
|
45
|
-
If you'd like to replace Rails's
|
46
|
-
[haml-rails](https://github.com/
|
44
|
+
If you'd like to replace Rails's ERB-based generators with Haml, add
|
45
|
+
[haml-rails](https://github.com/haml/haml-rails) to your Gemfile as well.
|
47
46
|
|
48
47
|
## Formatting
|
49
48
|
|
@@ -121,7 +120,7 @@ output the result. You can even use control statements like `if` and `while`:
|
|
121
120
|
~~~
|
122
121
|
|
123
122
|
Haml provides far more tools than those presented here. Check out the [reference
|
124
|
-
documentation](
|
123
|
+
documentation](https://haml.info/docs/yardoc/file.REFERENCE.html)
|
125
124
|
for full details.
|
126
125
|
|
127
126
|
### Indentation
|
@@ -133,7 +132,7 @@ can't be mixed, and the same number of tabs or spaces must be used throughout.
|
|
133
132
|
## Contributing
|
134
133
|
|
135
134
|
Contributions are welcomed, but before you get started please read the
|
136
|
-
[guidelines](
|
135
|
+
[guidelines](https://haml.info/development.html#contributing).
|
137
136
|
|
138
137
|
After forking and then cloning the repo locally, install Bundler and then use it
|
139
138
|
to install the development gem dependencies:
|
@@ -147,12 +146,6 @@ Once this is complete, you should be able to run the test suite:
|
|
147
146
|
rake
|
148
147
|
~~~
|
149
148
|
|
150
|
-
You'll get a warning that you need to install haml-spec, so run this:
|
151
|
-
|
152
|
-
~~~sh
|
153
|
-
git submodule update --init
|
154
|
-
~~~
|
155
|
-
|
156
149
|
At this point `rake` should run without error or warning and you are ready to
|
157
150
|
start working on your patch!
|
158
151
|
|
@@ -183,7 +176,7 @@ but still consults on language issues.
|
|
183
176
|
[Natalie Weizenbaum](http://nex-3.com) was for many years the primary developer
|
184
177
|
and architect of the "modern" Ruby implementation of Haml.
|
185
178
|
|
186
|
-
[Norman Clarke](
|
179
|
+
[Norman Clarke](https://github.com/norman) was the primary maintainer of Haml from 2012 to 2016.
|
187
180
|
|
188
181
|
## License
|
189
182
|
|