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.
- checksums.yaml +4 -4
- data/.github/FUNDING.yml +1 -0
- data/.github/workflows/test.yml +13 -9
- data/.gitignore +16 -16
- data/CHANGELOG.md +13 -3
- data/Gemfile +18 -11
- data/MIT-LICENSE +1 -1
- data/README.md +13 -19
- data/Rakefile +95 -93
- 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/ext/haml/extconf.rb +10 -0
- data/ext/haml/haml.c +537 -0
- data/ext/haml/hescape.c +108 -0
- data/ext/haml/hescape.h +20 -0
- data/haml.gemspec +39 -37
- data/lib/haml/ambles.rb +20 -0
- data/lib/haml/attribute_builder.rb +135 -179
- data/lib/haml/attribute_compiler.rb +85 -194
- data/lib/haml/attribute_parser.rb +86 -126
- data/lib/haml/cli.rb +154 -0
- data/lib/haml/compiler/children_compiler.rb +126 -0
- data/lib/haml/compiler/comment_compiler.rb +39 -0
- data/lib/haml/compiler/doctype_compiler.rb +46 -0
- data/lib/haml/compiler/script_compiler.rb +116 -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 +42 -227
- data/lib/haml/error.rb +3 -52
- data/lib/haml/escapable.rb +6 -70
- 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 +49 -0
- data/lib/haml/filters.rb +54 -378
- data/lib/haml/force_escapable.rb +29 -0
- data/lib/haml/haml_error.rb +66 -0
- data/lib/haml/helpers.rb +3 -697
- data/lib/haml/html.rb +22 -0
- data/lib/haml/identity.rb +13 -0
- data/lib/haml/object_ref.rb +30 -0
- data/lib/haml/parser.rb +179 -49
- data/lib/haml/rails_helpers.rb +51 -0
- data/lib/haml/rails_template.rb +55 -0
- data/lib/haml/railtie.rb +7 -45
- data/lib/haml/ruby_expression.rb +32 -0
- data/lib/haml/string_splitter.rb +20 -0
- data/lib/haml/template.rb +15 -34
- data/lib/haml/temple_line_counter.rb +2 -1
- data/lib/haml/util.rb +17 -15
- data/lib/haml/version.rb +1 -2
- data/lib/haml.rb +8 -20
- metadata +211 -57
- data/.gitmodules +0 -3
- data/.yardopts +0 -22
- 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 -182
- 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 -114
- data/lib/haml/options.rb +0 -273
- data/lib/haml/plugin.rb +0 -54
- data/lib/haml/sass_rails_filter.rb +0 -47
- data/lib/haml/template/options.rb +0 -27
- data/lib/haml/temple_engine.rb +0 -124
- 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
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
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
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:
|
2
|
-
|
3
|
-
require 'haml/
|
4
|
-
|
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
|
-
|
18
|
-
|
19
|
-
|
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 = "
|
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
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
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
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:
|
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
|
-
|
12
|
-
|
11
|
+
- Takashi Kokubun
|
12
|
+
autorequire:
|
13
|
+
bindir: exe
|
13
14
|
cert_chain: []
|
14
|
-
date:
|
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.
|
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.
|
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:
|
60
|
+
name: benchmark_driver
|
46
61
|
requirement: !ruby/object:Gem::Requirement
|
47
62
|
requirements:
|
48
63
|
- - ">="
|
49
64
|
- !ruby/object:Gem::Version
|
50
|
-
version:
|
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:
|
72
|
+
version: '0'
|
58
73
|
- !ruby/object:Gem::Dependency
|
59
|
-
name:
|
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:
|
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:
|
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:
|
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
|
-
-
|
140
|
-
-
|
141
|
-
- bin/
|
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
|
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/
|
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/
|
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/
|
158
|
-
- lib/haml/
|
159
|
-
- lib/haml/
|
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/
|
328
|
+
- lib/haml/rails_helpers.rb
|
329
|
+
- lib/haml/rails_template.rb
|
166
330
|
- lib/haml/railtie.rb
|
167
|
-
- lib/haml/
|
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
|
-
|
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
|
-
|
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.
|
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:
|
354
|
+
version: 1.3.1
|
201
355
|
requirements: []
|
202
|
-
rubygems_version: 3.
|
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
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
|