haml 5.1.2 → 6.3.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.
Files changed (96) hide show
  1. checksums.yaml +4 -4
  2. data/.github/FUNDING.yml +3 -0
  3. data/.github/workflows/test.yml +36 -0
  4. data/.gitignore +16 -15
  5. data/.yardopts +0 -3
  6. data/CHANGELOG.md +189 -1
  7. data/FAQ.md +1 -1
  8. data/Gemfile +20 -12
  9. data/MIT-LICENSE +1 -1
  10. data/README.md +10 -17
  11. data/REFERENCE.md +129 -164
  12. data/Rakefile +15 -89
  13. data/bin/bench +66 -0
  14. data/bin/console +11 -0
  15. data/bin/ruby +3 -0
  16. data/bin/setup +7 -0
  17. data/bin/stackprof +27 -0
  18. data/bin/test +24 -0
  19. data/exe/haml +6 -0
  20. data/haml.gemspec +34 -35
  21. data/lib/haml/ambles.rb +20 -0
  22. data/lib/haml/attribute_builder.rb +131 -133
  23. data/lib/haml/attribute_compiler.rb +91 -182
  24. data/lib/haml/attribute_parser.rb +92 -126
  25. data/lib/haml/cli.rb +154 -0
  26. data/lib/haml/compiler/children_compiler.rb +155 -0
  27. data/lib/haml/compiler/comment_compiler.rb +51 -0
  28. data/lib/haml/compiler/doctype_compiler.rb +52 -0
  29. data/lib/haml/compiler/script_compiler.rb +114 -0
  30. data/lib/haml/compiler/silent_script_compiler.rb +24 -0
  31. data/lib/haml/compiler/tag_compiler.rb +76 -0
  32. data/lib/haml/compiler.rb +63 -296
  33. data/lib/haml/dynamic_merger.rb +67 -0
  34. data/lib/haml/engine.rb +48 -227
  35. data/lib/haml/error.rb +5 -4
  36. data/lib/haml/escape.rb +13 -0
  37. data/lib/haml/escape_any.rb +21 -0
  38. data/lib/haml/filters/base.rb +12 -0
  39. data/lib/haml/filters/cdata.rb +20 -0
  40. data/lib/haml/filters/coffee.rb +17 -0
  41. data/lib/haml/filters/css.rb +33 -0
  42. data/lib/haml/filters/erb.rb +10 -0
  43. data/lib/haml/filters/escaped.rb +22 -0
  44. data/lib/haml/filters/javascript.rb +33 -0
  45. data/lib/haml/filters/less.rb +20 -0
  46. data/lib/haml/filters/markdown.rb +11 -0
  47. data/lib/haml/filters/plain.rb +29 -0
  48. data/lib/haml/filters/preserve.rb +22 -0
  49. data/lib/haml/filters/ruby.rb +10 -0
  50. data/lib/haml/filters/sass.rb +15 -0
  51. data/lib/haml/filters/scss.rb +15 -0
  52. data/lib/haml/filters/text_base.rb +25 -0
  53. data/lib/haml/filters/tilt_base.rb +59 -0
  54. data/lib/haml/filters.rb +54 -378
  55. data/lib/haml/force_escape.rb +29 -0
  56. data/lib/haml/helpers.rb +3 -691
  57. data/lib/haml/html.rb +22 -0
  58. data/lib/haml/identity.rb +13 -0
  59. data/lib/haml/object_ref.rb +35 -0
  60. data/lib/haml/parser.rb +190 -27
  61. data/lib/haml/rails_helpers.rb +53 -0
  62. data/lib/haml/rails_template.rb +62 -0
  63. data/lib/haml/railtie.rb +3 -41
  64. data/lib/haml/ruby_expression.rb +32 -0
  65. data/lib/haml/string_splitter.rb +140 -0
  66. data/lib/haml/template.rb +15 -34
  67. data/lib/haml/temple_line_counter.rb +2 -1
  68. data/lib/haml/util.rb +20 -16
  69. data/lib/haml/version.rb +1 -2
  70. data/lib/haml/whitespace.rb +8 -0
  71. data/lib/haml.rb +8 -20
  72. metadata +205 -53
  73. data/.gitmodules +0 -3
  74. data/.travis.yml +0 -97
  75. data/TODO +0 -24
  76. data/benchmark.rb +0 -70
  77. data/bin/haml +0 -9
  78. data/lib/haml/.gitattributes +0 -1
  79. data/lib/haml/buffer.rb +0 -238
  80. data/lib/haml/escapable.rb +0 -50
  81. data/lib/haml/exec.rb +0 -347
  82. data/lib/haml/generator.rb +0 -42
  83. data/lib/haml/helpers/action_view_extensions.rb +0 -60
  84. data/lib/haml/helpers/action_view_mods.rb +0 -132
  85. data/lib/haml/helpers/action_view_xss_mods.rb +0 -60
  86. data/lib/haml/helpers/safe_erubi_template.rb +0 -20
  87. data/lib/haml/helpers/safe_erubis_template.rb +0 -33
  88. data/lib/haml/helpers/xss_mods.rb +0 -111
  89. data/lib/haml/options.rb +0 -273
  90. data/lib/haml/plugin.rb +0 -37
  91. data/lib/haml/sass_rails_filter.rb +0 -47
  92. data/lib/haml/template/options.rb +0 -27
  93. data/lib/haml/temple_engine.rb +0 -123
  94. data/yard/default/.gitignore +0 -1
  95. data/yard/default/fulldoc/html/css/common.sass +0 -15
  96. data/yard/default/layout/html/footer.erb +0 -12
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2ab71634acdfecb8525662d862961b21f26d77f32adf34457443b96aa5118b8d
4
- data.tar.gz: 3eae0d107f253137df0583ead35dfee0d7840d3de616db50e0dbbd5734acbe27
3
+ metadata.gz: b8754d03da194f9c74e620887cbc29d3aa95d93651129ca33aa60dc72be08dd1
4
+ data.tar.gz: f4d26ea914200ac345926641d0d0d8ba36fb4b62a47600f63015d5c2d1dc8a11
5
5
  SHA512:
6
- metadata.gz: fb8005b129e6874259a4ff900579a13cbc42c3f64b13640856a219c9f69fbd2cfc77d8126231148c2ebc6b58883e8687a4f447603fd6cdfc41195bf08e1127c3
7
- data.tar.gz: 813db45e219554933892a41e023419e9a1a0e10602ebdf525f7efc1f14fe6f2afa4ff96ac691a0d8552989016453e7ce553864fc778447e1f55725de43b53406
6
+ metadata.gz: eccf9fb6676267281b3c918425e93f07e8771c2f41e8481a08f327cb2ddbd5b53e07f3c9025f37c1abc977ad732d3b2f67d3023c4e1f356897bed03e3572ca20
7
+ data.tar.gz: 5ecd4d17716d5b0b4be7b57ebcfd28457f1b803cd376e37d4bcece2f30632e4e46d988eba1048e0c303a3599db5049b464e31854dda7f538bfe30565169769e9
@@ -0,0 +1,3 @@
1
+ github:
2
+ - haml
3
+ - k0kubun
@@ -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
- /coverage
3
- /doc
4
- /log
5
- /pkg
6
- /test/rails
7
- /test/gemfiles/*.lock
8
- /.haml
9
- /site
10
- *.rbc
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
- .rvmrc
16
- Gemfile.lock
17
- tmp
18
- .bundle/
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="http://haml.info" title="Haml's so cool!")
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](http://haml.info/docs/yardoc/file.REFERENCE.html) reference,
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 "https://rubygems.org"
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 "m"
5
- gem "pry"
11
+ gem 'benchmark-ips', '2.3.0'
12
+ gem 'maxitest'
13
+ gem 'pry'
6
14
 
7
- group :docs do
8
- gem "yard"
9
- gem "kramdown"
10
- gem "sass"
11
- end
15
+ if /java/ === RUBY_PLATFORM # JRuby
16
+ gem 'pandoc-ruby'
17
+ else
18
+ gem 'redcarpet'
12
19
 
13
- platform :mri do
14
- gem "ruby-prof"
20
+ if RUBY_PLATFORM !~ /mswin|mingw/ && RUBY_ENGINE != 'truffleruby'
21
+ gem 'stackprof'
22
+ end
15
23
  end
16
24
 
17
- platform :mri_21 do
18
- gem "simplecov"
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-2019 Hampton Catlin and Natalie Weizenbaum
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)](http://rubygems.org/gems/haml)
4
- [![Build Status](https://travis-ci.org/haml/haml.svg?branch=master)](http://travis-ci.org/haml/haml)
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
- [![Coverage Status](http://img.shields.io/coveralls/haml/haml.svg)](https://coveralls.io/r/haml/haml)
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 programatically, check out the [YARD documentation](http://haml.info/docs/yardoc/).
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 Erb-based generators with Haml, add
46
- [haml-rails](https://github.com/indirect/haml-rails) to your Gemfile as well.
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](http://haml.info/docs/yardoc/file.REFERENCE.html)
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](http://haml.info/development.html#contributing).
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](http://github.com/norman) was the primary maintainer of Haml from 2012 to 2016.
179
+ [Norman Clarke](https://github.com/norman) was the primary maintainer of Haml from 2012 to 2016.
187
180
 
188
181
  ## License
189
182