haml 5.2.2 → 6.0.0.beta.1

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 (95) hide show
  1. checksums.yaml +4 -4
  2. data/.github/FUNDING.yml +1 -0
  3. data/.github/workflows/test.yml +13 -9
  4. data/.gitignore +16 -16
  5. data/CHANGELOG.md +13 -3
  6. data/Gemfile +18 -11
  7. data/MIT-LICENSE +1 -1
  8. data/README.md +13 -19
  9. data/Rakefile +95 -93
  10. data/bin/bench +66 -0
  11. data/bin/console +11 -0
  12. data/bin/ruby +3 -0
  13. data/bin/setup +7 -0
  14. data/bin/stackprof +27 -0
  15. data/bin/test +24 -0
  16. data/exe/haml +6 -0
  17. data/ext/haml/extconf.rb +10 -0
  18. data/ext/haml/haml.c +537 -0
  19. data/ext/haml/hescape.c +108 -0
  20. data/ext/haml/hescape.h +20 -0
  21. data/haml.gemspec +39 -37
  22. data/lib/haml/ambles.rb +20 -0
  23. data/lib/haml/attribute_builder.rb +135 -179
  24. data/lib/haml/attribute_compiler.rb +85 -194
  25. data/lib/haml/attribute_parser.rb +86 -126
  26. data/lib/haml/cli.rb +154 -0
  27. data/lib/haml/compiler/children_compiler.rb +126 -0
  28. data/lib/haml/compiler/comment_compiler.rb +39 -0
  29. data/lib/haml/compiler/doctype_compiler.rb +46 -0
  30. data/lib/haml/compiler/script_compiler.rb +116 -0
  31. data/lib/haml/compiler/silent_script_compiler.rb +24 -0
  32. data/lib/haml/compiler/tag_compiler.rb +76 -0
  33. data/lib/haml/compiler.rb +63 -296
  34. data/lib/haml/dynamic_merger.rb +67 -0
  35. data/lib/haml/engine.rb +42 -227
  36. data/lib/haml/error.rb +3 -52
  37. data/lib/haml/escapable.rb +6 -70
  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 +49 -0
  54. data/lib/haml/filters.rb +54 -378
  55. data/lib/haml/force_escapable.rb +29 -0
  56. data/lib/haml/haml_error.rb +66 -0
  57. data/lib/haml/helpers.rb +3 -697
  58. data/lib/haml/html.rb +22 -0
  59. data/lib/haml/identity.rb +13 -0
  60. data/lib/haml/object_ref.rb +30 -0
  61. data/lib/haml/parser.rb +179 -49
  62. data/lib/haml/rails_helpers.rb +51 -0
  63. data/lib/haml/rails_template.rb +55 -0
  64. data/lib/haml/railtie.rb +7 -45
  65. data/lib/haml/ruby_expression.rb +32 -0
  66. data/lib/haml/string_splitter.rb +20 -0
  67. data/lib/haml/template.rb +15 -34
  68. data/lib/haml/temple_line_counter.rb +2 -1
  69. data/lib/haml/util.rb +17 -15
  70. data/lib/haml/version.rb +1 -2
  71. data/lib/haml.rb +8 -20
  72. metadata +211 -57
  73. data/.gitmodules +0 -3
  74. data/.yardopts +0 -22
  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 -182
  80. data/lib/haml/exec.rb +0 -347
  81. data/lib/haml/generator.rb +0 -42
  82. data/lib/haml/helpers/action_view_extensions.rb +0 -60
  83. data/lib/haml/helpers/action_view_mods.rb +0 -132
  84. data/lib/haml/helpers/action_view_xss_mods.rb +0 -60
  85. data/lib/haml/helpers/safe_erubi_template.rb +0 -20
  86. data/lib/haml/helpers/safe_erubis_template.rb +0 -33
  87. data/lib/haml/helpers/xss_mods.rb +0 -114
  88. data/lib/haml/options.rb +0 -273
  89. data/lib/haml/plugin.rb +0 -54
  90. data/lib/haml/sass_rails_filter.rb +0 -47
  91. data/lib/haml/template/options.rb +0 -27
  92. data/lib/haml/temple_engine.rb +0 -124
  93. data/yard/default/.gitignore +0 -1
  94. data/yard/default/fulldoc/html/css/common.sass +0 -15
  95. data/yard/default/layout/html/footer.erb +0 -12
data/lib/haml/railtie.rb CHANGED
@@ -1,53 +1,15 @@
1
1
  # frozen_string_literal: true
2
-
3
- require 'haml/template/options'
4
-
5
- # check for a compatible Rails version when Haml is loaded
6
- if (activesupport_spec = Gem.loaded_specs['activesupport'])
7
- if activesupport_spec.version.to_s < '4.0'
8
- raise Exception.new("\n\n** Haml now requires Rails 4.0 and later. Use Haml version 4.0.x\n\n")
9
- end
10
- end
2
+ require 'rails'
11
3
 
12
4
  module Haml
13
- module Filters
14
- module RailsErb
15
- extend Plain
16
- extend TiltFilter
17
- extend PrecompiledTiltFilter
18
- end
19
- end
20
-
21
5
  class Railtie < ::Rails::Railtie
22
- initializer :haml do |app|
23
- ActiveSupport.on_load(:action_view) do
24
- require "haml/template"
25
-
26
- if defined?(::Sass::Rails::SassTemplate) && app.config.assets.enabled
27
- require "haml/sass_rails_filter"
28
- end
29
-
30
- # Any object under ActionView::Template will be defined as the root constant with the same
31
- # name if it exists. If Erubi is loaded at all, ActionView::Template::Handlers::ERB::Erubi
32
- # will turn out to be a reference to the ::Erubi module.
33
- # In Rails 4.2, calling const_defined? results in odd exceptions, which seems to be
34
- # solved by looking for ::Erubi first.
35
- # However, in JRuby, the const_defined? finds it anyway, so we must make sure that it's
36
- # not just a reference to ::Erubi.
37
- if defined?(::Erubi) && (::ActionView::Template::Handlers::ERB.const_get('Erubi') != ::Erubi)
38
- require "haml/helpers/safe_erubi_template"
39
- Haml::Filters::RailsErb.template_class = Haml::SafeErubiTemplate
40
- else
41
- require "haml/helpers/safe_erubis_template"
42
- Haml::Filters::RailsErb.template_class = Haml::SafeErubisTemplate
43
- end
44
- Haml::Template.options[:filters] = { 'erb' => Haml::Filters::RailsErb }
45
-
46
- if app.config.respond_to?(:action_view) &&
47
- app.config.action_view.annotate_rendered_view_with_filenames
48
- Haml::Plugin.annotate_rendered_view_with_filenames = true
49
- end
6
+ initializer :haml, before: :load_config_initializers do |app|
7
+ # Load haml/plugin first to override if available
8
+ begin
9
+ require 'haml/plugin'
10
+ rescue LoadError
50
11
  end
12
+ require 'haml/rails_template'
51
13
  end
52
14
  end
53
15
  end
@@ -0,0 +1,32 @@
1
+ # frozen_string_literal: true
2
+ require 'ripper'
3
+
4
+ module Haml
5
+ class RubyExpression < Ripper
6
+ class ParseError < StandardError; end
7
+
8
+ def self.syntax_error?(code)
9
+ self.new(code).parse
10
+ false
11
+ rescue ParseError
12
+ true
13
+ end
14
+
15
+ def self.string_literal?(code)
16
+ return false if syntax_error?(code)
17
+
18
+ type, instructions = Ripper.sexp(code)
19
+ return false if type != :program
20
+ return false if instructions.size > 1
21
+
22
+ type, _ = instructions.first
23
+ type == :string_literal
24
+ end
25
+
26
+ private
27
+
28
+ def on_parse_error(*)
29
+ raise ParseError
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+ require 'ripper'
3
+ require 'haml/ruby_expression'
4
+
5
+ module Haml
6
+ module StringSplitter
7
+ # `code` param must be valid string literal
8
+ def self.compile(code)
9
+ unless Ripper.respond_to?(:lex) # truffleruby doesn't have Ripper.lex
10
+ return [[:dynamic, code]]
11
+ end
12
+
13
+ begin
14
+ Temple::Filters::StringSplitter.compile(code)
15
+ rescue Temple::FilterError => e
16
+ raise Haml::InternalError.new(e.message)
17
+ end
18
+ end
19
+ end
20
+ end
data/lib/haml/template.rb CHANGED
@@ -1,39 +1,20 @@
1
- # frozen_string_literal: true
2
-
3
- require 'haml/template/options'
4
- if defined?(ActiveSupport)
5
- ActiveSupport.on_load(:action_view) do
6
- require 'haml/helpers/action_view_mods'
7
- require 'haml/helpers/action_view_extensions'
8
- end
9
- else
10
- require 'haml/helpers/action_view_mods'
11
- require 'haml/helpers/action_view_extensions'
12
- end
13
- require 'haml/helpers/xss_mods'
14
- require 'haml/helpers/action_view_xss_mods'
1
+ # frozen_string_literal: false
2
+ require 'temple'
3
+ require 'haml/engine'
4
+ require 'haml/helpers'
15
5
 
16
6
  module Haml
17
- class TempleEngine
18
- def precompiled_method_return_value_with_haml_xss
19
- "::Haml::Util.html_safe(#{precompiled_method_return_value_without_haml_xss})"
7
+ Template = Temple::Templates::Tilt.create(
8
+ Haml::Engine,
9
+ register_as: [:haml, :haml],
10
+ )
11
+
12
+ module TemplateExtension
13
+ # Activate Haml::Helpers for tilt templates.
14
+ # https://github.com/judofyr/temple/blob/v0.7.6/lib/temple/mixins/template.rb#L7-L11
15
+ def compile(*)
16
+ "extend Haml::Helpers; #{super}"
20
17
  end
21
- alias_method :precompiled_method_return_value_without_haml_xss, :precompiled_method_return_value
22
- alias_method :precompiled_method_return_value, :precompiled_method_return_value_with_haml_xss
23
18
  end
24
-
25
- module Helpers
26
- include Haml::Helpers::XssMods
27
- end
28
-
29
- module Util
30
- undef :rails_xss_safe? if defined? rails_xss_safe?
31
- def rails_xss_safe?; true; end
32
- end
33
-
19
+ Template.send(:extend, TemplateExtension)
34
20
  end
35
-
36
-
37
- Haml::Template.options[:escape_html] = true
38
-
39
- require 'haml/plugin'
@@ -1,5 +1,4 @@
1
1
  # frozen_string_literal: true
2
-
3
2
  module Haml
4
3
  # A module to count lines of expected code. This would be faster than actual code generation
5
4
  # and counting newlines in it.
@@ -22,6 +21,8 @@ module Haml
22
21
  end.reduce(:+)
23
22
  when :escape
24
23
  count_lines(args[1])
24
+ when :newline
25
+ 1
25
26
  else
26
27
  raise UnexpectedExpression.new("[HAML BUG] Unexpected Temple expression '#{type}' is given!")
27
28
  end
data/lib/haml/util.rb CHANGED
@@ -14,6 +14,22 @@ module Haml
14
14
  module Util
15
15
  extend self
16
16
 
17
+ # Java extension is not implemented for JRuby yet.
18
+ # TruffleRuby does not implement `rb_ary_sort_bang`, etc.
19
+ if /java/ === RUBY_PLATFORM || RUBY_ENGINE == 'truffleruby'
20
+ require 'cgi/escape'
21
+
22
+ def self.escape_html(html)
23
+ CGI.escapeHTML(html.to_s)
24
+ end
25
+ else
26
+ require 'haml/haml' # Haml::Util.escape_html
27
+ end
28
+
29
+ def self.escape_html_safe(html)
30
+ html.html_safe? ? html : escape_html(html)
31
+ end
32
+
17
33
  # Silence all output to STDERR within a block.
18
34
  #
19
35
  # @yield A block in which no output will be printed to STDERR
@@ -35,20 +51,6 @@ module Haml
35
51
  false
36
52
  end
37
53
 
38
- # Returns the given text, marked as being HTML-safe.
39
- # With older versions of the Rails XSS-safety mechanism,
40
- # this destructively modifies the HTML-safety of `text`.
41
- #
42
- # It only works if you are using ActiveSupport or the parameter `text`
43
- # implements the #html_safe method.
44
- #
45
- # @param text [String, nil]
46
- # @return [String, nil] `text`, marked as HTML-safe
47
- def html_safe(text)
48
- return unless text
49
- text.html_safe
50
- end
51
-
52
54
  # Checks that the encoding of a string is valid
53
55
  # and cleans up potential encoding gotchas like the UTF-8 BOM.
54
56
  # If it's not, yields an error string describing the invalid character
@@ -214,7 +216,7 @@ MSG
214
216
  end
215
217
  content = eval("\"#{interpolated}\"")
216
218
  content = "#{char}#{content}" if char == '@' || char == '$'
217
- content = "Haml::Helpers.html_escape((#{content}))" if escape_html
219
+ content = "CGI.escapeHTML((#{content}).to_s)" if escape_html
218
220
 
219
221
  res << "\#{#{content}}"
220
222
  end
data/lib/haml/version.rb CHANGED
@@ -1,5 +1,4 @@
1
1
  # frozen_string_literal: true
2
-
3
2
  module Haml
4
- VERSION = "5.2.2"
3
+ VERSION = '6.0.0.beta.1'
5
4
  end
data/lib/haml.rb CHANGED
@@ -1,25 +1,13 @@
1
1
  # frozen_string_literal: true
2
-
2
+ require 'haml/engine'
3
+ require 'haml/error'
3
4
  require 'haml/version'
5
+ require 'haml/template'
4
6
 
5
- # The module that contains everything Haml-related:
6
- #
7
- # * {Haml::Parser} is Haml's parser.
8
- # * {Haml::Compiler} is Haml's compiler.
9
- # * {Haml::Engine} is the class used to render Haml within Ruby code.
10
- # * {Haml::Options} is where Haml's runtime options are defined.
11
- # * {Haml::Error} is raised when Haml encounters an error.
12
- #
13
- # Also see the {file:REFERENCE.md full Haml reference}.
14
- module Haml
15
-
16
- def self.init_rails(*args)
17
- # Maintain this as a no-op for any libraries that may be depending on the
18
- # previous definition here.
7
+ if File.basename($0) != 'haml'
8
+ begin
9
+ require 'rails'
10
+ require 'haml/railtie'
11
+ rescue LoadError
19
12
  end
20
-
21
13
  end
22
-
23
- require 'haml/util'
24
- require 'haml/engine'
25
- require 'haml/railtie' if defined?(Rails::Railtie)
metadata CHANGED
@@ -1,17 +1,18 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: haml
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.2.2
4
+ version: 6.0.0.beta.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Natalie Weizenbaum
8
8
  - Hampton Catlin
9
9
  - Norman Clarke
10
10
  - Akira Matsuda
11
- autorequire:
12
- bindir: bin
11
+ - Takashi Kokubun
12
+ autorequire:
13
+ bindir: exe
13
14
  cert_chain: []
14
- date: 2021-07-27 00:00:00.000000000 Z
15
+ date: 2022-08-20 00:00:00.000000000 Z
15
16
  dependencies:
16
17
  - !ruby/object:Gem::Dependency
17
18
  name: temple
@@ -19,14 +20,28 @@ dependencies:
19
20
  requirements:
20
21
  - - ">="
21
22
  - !ruby/object:Gem::Version
22
- version: 0.8.0
23
+ version: 0.8.2
23
24
  type: :runtime
24
25
  prerelease: false
25
26
  version_requirements: !ruby/object:Gem::Requirement
26
27
  requirements:
27
28
  - - ">="
28
29
  - !ruby/object:Gem::Version
29
- version: 0.8.0
30
+ version: 0.8.2
31
+ - !ruby/object:Gem::Dependency
32
+ name: thor
33
+ requirement: !ruby/object:Gem::Requirement
34
+ requirements:
35
+ - - ">="
36
+ - !ruby/object:Gem::Version
37
+ version: '0'
38
+ type: :runtime
39
+ prerelease: false
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ requirements:
42
+ - - ">="
43
+ - !ruby/object:Gem::Version
44
+ version: '0'
30
45
  - !ruby/object:Gem::Dependency
31
46
  name: tilt
32
47
  requirement: !ruby/object:Gem::Requirement
@@ -42,21 +57,21 @@ dependencies:
42
57
  - !ruby/object:Gem::Version
43
58
  version: '0'
44
59
  - !ruby/object:Gem::Dependency
45
- name: rails
60
+ name: benchmark_driver
46
61
  requirement: !ruby/object:Gem::Requirement
47
62
  requirements:
48
63
  - - ">="
49
64
  - !ruby/object:Gem::Version
50
- version: 4.0.0
65
+ version: '0'
51
66
  type: :development
52
67
  prerelease: false
53
68
  version_requirements: !ruby/object:Gem::Requirement
54
69
  requirements:
55
70
  - - ">="
56
71
  - !ruby/object:Gem::Version
57
- version: 4.0.0
72
+ version: '0'
58
73
  - !ruby/object:Gem::Dependency
59
- name: rbench
74
+ name: bundler
60
75
  requirement: !ruby/object:Gem::Requirement
61
76
  requirements:
62
77
  - - ">="
@@ -70,7 +85,77 @@ dependencies:
70
85
  - !ruby/object:Gem::Version
71
86
  version: '0'
72
87
  - !ruby/object:Gem::Dependency
73
- name: minitest
88
+ name: coffee-script
89
+ requirement: !ruby/object:Gem::Requirement
90
+ requirements:
91
+ - - ">="
92
+ - !ruby/object:Gem::Version
93
+ version: '0'
94
+ type: :development
95
+ prerelease: false
96
+ version_requirements: !ruby/object:Gem::Requirement
97
+ requirements:
98
+ - - ">="
99
+ - !ruby/object:Gem::Version
100
+ version: '0'
101
+ - !ruby/object:Gem::Dependency
102
+ name: erubi
103
+ requirement: !ruby/object:Gem::Requirement
104
+ requirements:
105
+ - - ">="
106
+ - !ruby/object:Gem::Version
107
+ version: '0'
108
+ type: :development
109
+ prerelease: false
110
+ version_requirements: !ruby/object:Gem::Requirement
111
+ requirements:
112
+ - - ">="
113
+ - !ruby/object:Gem::Version
114
+ version: '0'
115
+ - !ruby/object:Gem::Dependency
116
+ name: haml
117
+ requirement: !ruby/object:Gem::Requirement
118
+ requirements:
119
+ - - ">="
120
+ - !ruby/object:Gem::Version
121
+ version: '5'
122
+ type: :development
123
+ prerelease: false
124
+ version_requirements: !ruby/object:Gem::Requirement
125
+ requirements:
126
+ - - ">="
127
+ - !ruby/object:Gem::Version
128
+ version: '5'
129
+ - !ruby/object:Gem::Dependency
130
+ name: less
131
+ requirement: !ruby/object:Gem::Requirement
132
+ requirements:
133
+ - - ">="
134
+ - !ruby/object:Gem::Version
135
+ version: '0'
136
+ type: :development
137
+ prerelease: false
138
+ version_requirements: !ruby/object:Gem::Requirement
139
+ requirements:
140
+ - - ">="
141
+ - !ruby/object:Gem::Version
142
+ version: '0'
143
+ - !ruby/object:Gem::Dependency
144
+ name: minitest-reporters
145
+ requirement: !ruby/object:Gem::Requirement
146
+ requirements:
147
+ - - "~>"
148
+ - !ruby/object:Gem::Version
149
+ version: '1.1'
150
+ type: :development
151
+ prerelease: false
152
+ version_requirements: !ruby/object:Gem::Requirement
153
+ requirements:
154
+ - - "~>"
155
+ - !ruby/object:Gem::Version
156
+ version: '1.1'
157
+ - !ruby/object:Gem::Dependency
158
+ name: rails
74
159
  requirement: !ruby/object:Gem::Requirement
75
160
  requirements:
76
161
  - - ">="
@@ -84,7 +169,63 @@ dependencies:
84
169
  - !ruby/object:Gem::Version
85
170
  version: '4.0'
86
171
  - !ruby/object:Gem::Dependency
87
- name: nokogiri
172
+ name: rake
173
+ requirement: !ruby/object:Gem::Requirement
174
+ requirements:
175
+ - - ">="
176
+ - !ruby/object:Gem::Version
177
+ version: '0'
178
+ type: :development
179
+ prerelease: false
180
+ version_requirements: !ruby/object:Gem::Requirement
181
+ requirements:
182
+ - - ">="
183
+ - !ruby/object:Gem::Version
184
+ version: '0'
185
+ - !ruby/object:Gem::Dependency
186
+ name: rake-compiler
187
+ requirement: !ruby/object:Gem::Requirement
188
+ requirements:
189
+ - - ">="
190
+ - !ruby/object:Gem::Version
191
+ version: '0'
192
+ type: :development
193
+ prerelease: false
194
+ version_requirements: !ruby/object:Gem::Requirement
195
+ requirements:
196
+ - - ">="
197
+ - !ruby/object:Gem::Version
198
+ version: '0'
199
+ - !ruby/object:Gem::Dependency
200
+ name: sass
201
+ requirement: !ruby/object:Gem::Requirement
202
+ requirements:
203
+ - - ">="
204
+ - !ruby/object:Gem::Version
205
+ version: '0'
206
+ type: :development
207
+ prerelease: false
208
+ version_requirements: !ruby/object:Gem::Requirement
209
+ requirements:
210
+ - - ">="
211
+ - !ruby/object:Gem::Version
212
+ version: '0'
213
+ - !ruby/object:Gem::Dependency
214
+ name: slim
215
+ requirement: !ruby/object:Gem::Requirement
216
+ requirements:
217
+ - - ">="
218
+ - !ruby/object:Gem::Version
219
+ version: '0'
220
+ type: :development
221
+ prerelease: false
222
+ version_requirements: !ruby/object:Gem::Requirement
223
+ requirements:
224
+ - - ">="
225
+ - !ruby/object:Gem::Version
226
+ version: '0'
227
+ - !ruby/object:Gem::Dependency
228
+ name: string_template
88
229
  requirement: !ruby/object:Gem::Requirement
89
230
  requirements:
90
231
  - - ">="
@@ -98,7 +239,7 @@ dependencies:
98
239
  - !ruby/object:Gem::Version
99
240
  version: '0'
100
241
  - !ruby/object:Gem::Dependency
101
- name: simplecov
242
+ name: unindent
102
243
  requirement: !ruby/object:Gem::Requirement
103
244
  requirements:
104
245
  - - ">="
@@ -111,24 +252,19 @@ dependencies:
111
252
  - - ">="
112
253
  - !ruby/object:Gem::Version
113
254
  version: '0'
114
- description: |
115
- Haml (HTML Abstraction Markup Language) is a layer on top of HTML or XML that's
116
- designed to express the structure of documents in a non-repetitive, elegant, and
117
- easy way by using indentation rather than closing tags and allowing Ruby to be
118
- embedded with ease. It was originally envisioned as a plugin for Ruby on Rails,
119
- but it can function as a stand-alone templating engine.
255
+ description: An elegant, structured (X)HTML/XML templating engine.
120
256
  email:
121
257
  - haml@googlegroups.com
122
258
  - ronnie@dio.jp
123
259
  executables:
124
260
  - haml
125
- extensions: []
261
+ extensions:
262
+ - ext/haml/extconf.rb
126
263
  extra_rdoc_files: []
127
264
  files:
265
+ - ".github/FUNDING.yml"
128
266
  - ".github/workflows/test.yml"
129
267
  - ".gitignore"
130
- - ".gitmodules"
131
- - ".yardopts"
132
268
  - CHANGELOG.md
133
269
  - FAQ.md
134
270
  - Gemfile
@@ -136,55 +272,73 @@ files:
136
272
  - README.md
137
273
  - REFERENCE.md
138
274
  - Rakefile
139
- - TODO
140
- - benchmark.rb
141
- - bin/haml
275
+ - bin/bench
276
+ - bin/console
277
+ - bin/ruby
278
+ - bin/setup
279
+ - bin/stackprof
280
+ - bin/test
281
+ - exe/haml
282
+ - ext/haml/extconf.rb
283
+ - ext/haml/haml.c
284
+ - ext/haml/hescape.c
285
+ - ext/haml/hescape.h
142
286
  - haml.gemspec
143
287
  - lib/haml.rb
144
- - lib/haml/.gitattributes
288
+ - lib/haml/ambles.rb
145
289
  - lib/haml/attribute_builder.rb
146
290
  - lib/haml/attribute_compiler.rb
147
291
  - lib/haml/attribute_parser.rb
148
- - lib/haml/buffer.rb
292
+ - lib/haml/cli.rb
149
293
  - lib/haml/compiler.rb
294
+ - lib/haml/compiler/children_compiler.rb
295
+ - lib/haml/compiler/comment_compiler.rb
296
+ - lib/haml/compiler/doctype_compiler.rb
297
+ - lib/haml/compiler/script_compiler.rb
298
+ - lib/haml/compiler/silent_script_compiler.rb
299
+ - lib/haml/compiler/tag_compiler.rb
300
+ - lib/haml/dynamic_merger.rb
150
301
  - lib/haml/engine.rb
151
302
  - lib/haml/error.rb
152
303
  - lib/haml/escapable.rb
153
- - lib/haml/exec.rb
154
304
  - lib/haml/filters.rb
155
- - lib/haml/generator.rb
305
+ - lib/haml/filters/base.rb
306
+ - lib/haml/filters/cdata.rb
307
+ - lib/haml/filters/coffee.rb
308
+ - lib/haml/filters/css.rb
309
+ - lib/haml/filters/erb.rb
310
+ - lib/haml/filters/escaped.rb
311
+ - lib/haml/filters/javascript.rb
312
+ - lib/haml/filters/less.rb
313
+ - lib/haml/filters/markdown.rb
314
+ - lib/haml/filters/plain.rb
315
+ - lib/haml/filters/preserve.rb
316
+ - lib/haml/filters/ruby.rb
317
+ - lib/haml/filters/sass.rb
318
+ - lib/haml/filters/scss.rb
319
+ - lib/haml/filters/text_base.rb
320
+ - lib/haml/filters/tilt_base.rb
321
+ - lib/haml/force_escapable.rb
322
+ - lib/haml/haml_error.rb
156
323
  - lib/haml/helpers.rb
157
- - lib/haml/helpers/action_view_extensions.rb
158
- - lib/haml/helpers/action_view_mods.rb
159
- - lib/haml/helpers/action_view_xss_mods.rb
160
- - lib/haml/helpers/safe_erubi_template.rb
161
- - lib/haml/helpers/safe_erubis_template.rb
162
- - lib/haml/helpers/xss_mods.rb
163
- - lib/haml/options.rb
324
+ - lib/haml/html.rb
325
+ - lib/haml/identity.rb
326
+ - lib/haml/object_ref.rb
164
327
  - lib/haml/parser.rb
165
- - lib/haml/plugin.rb
328
+ - lib/haml/rails_helpers.rb
329
+ - lib/haml/rails_template.rb
166
330
  - lib/haml/railtie.rb
167
- - lib/haml/sass_rails_filter.rb
331
+ - lib/haml/ruby_expression.rb
332
+ - lib/haml/string_splitter.rb
168
333
  - lib/haml/template.rb
169
- - lib/haml/template/options.rb
170
- - lib/haml/temple_engine.rb
171
334
  - lib/haml/temple_line_counter.rb
172
335
  - lib/haml/util.rb
173
336
  - lib/haml/version.rb
174
- - yard/default/.gitignore
175
- - yard/default/fulldoc/html/css/common.sass
176
- - yard/default/layout/html/footer.erb
177
- homepage: http://haml.info/
337
+ homepage: https://haml.info
178
338
  licenses:
179
339
  - MIT
180
- metadata:
181
- bug_tracker_uri: https://github.com/haml/haml/issues
182
- changelog_uri: https://github.com/haml/haml/blob/main/CHANGELOG.md
183
- documentation_uri: http://haml.info/docs.html
184
- homepage_uri: http://haml.info
185
- mailing_list_uri: https://groups.google.com/forum/?fromgroups#!forum/haml
186
- source_code_uri: https://github.com/haml/haml
187
- post_install_message:
340
+ metadata: {}
341
+ post_install_message:
188
342
  rdoc_options: []
189
343
  require_paths:
190
344
  - lib
@@ -192,15 +346,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
192
346
  requirements:
193
347
  - - ">="
194
348
  - !ruby/object:Gem::Version
195
- version: 2.0.0
349
+ version: 2.1.0
196
350
  required_rubygems_version: !ruby/object:Gem::Requirement
197
351
  requirements:
198
- - - ">="
352
+ - - ">"
199
353
  - !ruby/object:Gem::Version
200
- version: '0'
354
+ version: 1.3.1
201
355
  requirements: []
202
- rubygems_version: 3.1.4
203
- signing_key:
356
+ rubygems_version: 3.3.7
357
+ signing_key:
204
358
  specification_version: 4
205
359
  summary: An elegant, structured (X)HTML/XML templating engine.
206
360
  test_files: []
data/.gitmodules DELETED
@@ -1,3 +0,0 @@
1
- [submodule "test/haml-spec"]
2
- path = test/haml-spec
3
- url = git://github.com/haml/haml-spec.git
data/.yardopts DELETED
@@ -1,22 +0,0 @@
1
- --charset utf-8
2
- --readme README.md
3
- --markup markdown
4
- --markup-provider kramdown
5
- --template-path yard
6
- --default-return ""
7
- --title "Haml Documentation"
8
- --query 'object.type != :classvariable'
9
- --query 'object.type != :constant || @api && @api.text == "public"'
10
- --exclude lib/haml/plugin.rb
11
- --exclude lib/haml/railtie.rb
12
- --exclude lib/haml/helpers/action_view_mods.rb
13
- --exclude lib/haml/helpers/xss_mods.rb
14
- --hide-void-return
15
- --protected
16
- --no-private
17
- --no-highlight
18
- -
19
- FAQ.md
20
- CHANGELOG.md
21
- REFERENCE.md
22
- MIT-LICENSE