nokogiri 1.13.10-x86_64-darwin → 1.14.0-x86_64-darwin
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of nokogiri might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/Gemfile +33 -0
- data/LICENSE-DEPENDENCIES.md +830 -509
- data/LICENSE.md +1 -1
- data/README.md +18 -11
- data/dependencies.yml +25 -7
- data/ext/nokogiri/extconf.rb +80 -21
- data/ext/nokogiri/gumbo.c +19 -9
- data/ext/nokogiri/html4_document.c +1 -1
- data/ext/nokogiri/html4_entity_lookup.c +1 -1
- data/ext/nokogiri/html4_sax_parser_context.c +0 -5
- data/ext/nokogiri/nokogiri.c +33 -51
- data/ext/nokogiri/nokogiri.h +17 -14
- data/ext/nokogiri/xml_attribute_decl.c +1 -1
- data/ext/nokogiri/xml_cdata.c +1 -1
- data/ext/nokogiri/xml_document.c +16 -11
- data/ext/nokogiri/xml_element_content.c +2 -2
- data/ext/nokogiri/xml_element_decl.c +1 -1
- data/ext/nokogiri/xml_encoding_handler.c +2 -2
- data/ext/nokogiri/xml_namespace.c +38 -8
- data/ext/nokogiri/xml_node.c +286 -26
- data/ext/nokogiri/xml_node_set.c +0 -2
- data/ext/nokogiri/xml_reader.c +40 -20
- data/ext/nokogiri/xml_relax_ng.c +0 -2
- data/ext/nokogiri/xml_sax_parser.c +22 -16
- data/ext/nokogiri/xml_sax_parser_context.c +0 -5
- data/ext/nokogiri/xml_sax_push_parser.c +0 -2
- data/ext/nokogiri/xml_schema.c +0 -2
- data/ext/nokogiri/xml_xpath_context.c +87 -83
- data/ext/nokogiri/xslt_stylesheet.c +14 -13
- data/gumbo-parser/Makefile +10 -0
- data/lib/nokogiri/2.7/nokogiri.bundle +0 -0
- data/lib/nokogiri/3.0/nokogiri.bundle +0 -0
- data/lib/nokogiri/3.1/nokogiri.bundle +0 -0
- data/lib/nokogiri/{2.6 → 3.2}/nokogiri.bundle +0 -0
- data/lib/nokogiri/css/node.rb +2 -2
- data/lib/nokogiri/css/xpath_visitor.rb +5 -3
- data/lib/nokogiri/css.rb +6 -0
- data/lib/nokogiri/encoding_handler.rb +57 -0
- data/lib/nokogiri/extension.rb +3 -2
- data/lib/nokogiri/html4/document.rb +2 -121
- data/lib/nokogiri/html4/element_description_defaults.rb +6 -12
- data/lib/nokogiri/html4/encoding_reader.rb +121 -0
- data/lib/nokogiri/html4.rb +1 -0
- data/lib/nokogiri/html5/document.rb +113 -36
- data/lib/nokogiri/html5/document_fragment.rb +9 -2
- data/lib/nokogiri/html5/node.rb +3 -5
- data/lib/nokogiri/html5.rb +127 -216
- data/lib/nokogiri/jruby/dependencies.rb +1 -19
- data/lib/nokogiri/jruby/nokogiri_jars.rb +43 -0
- data/lib/nokogiri/version/constant.rb +1 -1
- data/lib/nokogiri/version/info.rb +11 -10
- data/lib/nokogiri/xml/attr.rb +49 -0
- data/lib/nokogiri/xml/builder.rb +1 -1
- data/lib/nokogiri/xml/document.rb +102 -54
- data/lib/nokogiri/xml/document_fragment.rb +49 -6
- data/lib/nokogiri/xml/namespace.rb +42 -0
- data/lib/nokogiri/xml/node/save_options.rb +6 -4
- data/lib/nokogiri/xml/node.rb +190 -35
- data/lib/nokogiri/xml/node_set.rb +87 -9
- data/lib/nokogiri/xml/parse_options.rb +129 -50
- data/lib/nokogiri/xml/pp/node.rb +6 -4
- data/lib/nokogiri/xml/processing_instruction.rb +2 -1
- data/lib/nokogiri/xml/sax/parser.rb +2 -3
- data/lib/nokogiri/xslt.rb +1 -1
- data/lib/nokogiri.rb +3 -11
- data/lib/xsd/xmlparser/nokogiri.rb +3 -1
- metadata +13 -248
@@ -1,84 +1,163 @@
|
|
1
|
+
# coding: utf-8
|
1
2
|
# frozen_string_literal: true
|
2
3
|
|
3
4
|
module Nokogiri
|
4
5
|
module XML
|
5
|
-
|
6
|
-
#
|
7
|
-
#
|
8
|
-
#
|
9
|
-
#
|
10
|
-
#
|
11
|
-
#
|
12
|
-
#
|
13
|
-
#
|
14
|
-
#
|
15
|
-
#
|
16
|
-
#
|
17
|
-
#
|
18
|
-
#
|
19
|
-
# You can
|
20
|
-
#
|
21
|
-
#
|
22
|
-
#
|
23
|
-
#
|
24
|
-
#
|
25
|
-
#
|
26
|
-
#
|
27
|
-
#
|
6
|
+
# Options that control the parsing behavior for XML::Document, XML::DocumentFragment,
|
7
|
+
# HTML4::Document, HTML4::DocumentFragment, XSLT::Stylesheet, and XML::Schema.
|
8
|
+
#
|
9
|
+
# These options directly expose libxml2's parse options, which are all boolean in the sense that
|
10
|
+
# an option is "on" or "off".
|
11
|
+
#
|
12
|
+
# 💡 Note that HTML5 parsing has a separate, orthogonal set of options due to the nature of the
|
13
|
+
# HTML5 specification. See Nokogiri::HTML5.
|
14
|
+
#
|
15
|
+
# ⚠ Not all parse options are supported on JRuby. Nokogiri will attempt to invoke the equivalent
|
16
|
+
# behavior in Xerces/NekoHTML on JRuby when it's possible.
|
17
|
+
#
|
18
|
+
# == Setting and unsetting parse options
|
19
|
+
#
|
20
|
+
# You can build your own combinations of parse options by using any of the following methods:
|
21
|
+
#
|
22
|
+
# [ParseOptions method chaining]
|
23
|
+
#
|
24
|
+
# Every option has an equivalent method in lowercase. You can chain these methods together to
|
25
|
+
# set various combinations.
|
26
|
+
#
|
27
|
+
# # Set the HUGE & PEDANTIC options
|
28
|
+
# po = Nokogiri::XML::ParseOptions.new.huge.pedantic
|
29
|
+
# doc = Nokogiri::XML::Document.parse(xml, nil, nil, po)
|
30
|
+
#
|
31
|
+
# Every option has an equivalent <code>no{option}</code> method in lowercase. You can call these
|
32
|
+
# methods on an instance of ParseOptions to unset the option.
|
33
|
+
#
|
34
|
+
# # Set the HUGE & PEDANTIC options
|
35
|
+
# po = Nokogiri::XML::ParseOptions.new.huge.pedantic
|
36
|
+
#
|
37
|
+
# # later we want to modify the options
|
38
|
+
# po.nohuge # Unset the HUGE option
|
39
|
+
# po.nopedantic # Unset the PEDANTIC option
|
40
|
+
#
|
41
|
+
# 💡 Note that some options begin with "no" leading to the logical but perhaps unintuitive
|
42
|
+
# double negative:
|
43
|
+
#
|
44
|
+
# po.nocdata # Set the NOCDATA parse option
|
45
|
+
# po.nonocdata # Unset the NOCDATA parse option
|
46
|
+
#
|
47
|
+
# 💡 Note that negation is not available for STRICT, which is itself a negation of all other
|
48
|
+
# features.
|
49
|
+
#
|
50
|
+
#
|
51
|
+
# [Using Ruby Blocks]
|
52
|
+
#
|
53
|
+
# Most parsing methods will accept a block for configuration of parse options, and we
|
54
|
+
# recommend chaining the setter methods:
|
55
|
+
#
|
56
|
+
# doc = Nokogiri::XML::Document.parse(xml) { |config| config.huge.pedantic }
|
57
|
+
#
|
58
|
+
#
|
59
|
+
# [ParseOptions constants]
|
60
|
+
#
|
61
|
+
# You can also use the constants declared under Nokogiri::XML::ParseOptions to set various
|
62
|
+
# combinations. They are bits in a bitmask, and so can be combined with bitwise operators:
|
63
|
+
#
|
64
|
+
# po = Nokogiri::XML::ParseOptions.new(Nokogiri::XML::ParseOptions::HUGE | Nokogiri::XML::ParseOptions::PEDANTIC)
|
65
|
+
# doc = Nokogiri::XML::Document.parse(xml, nil, nil, po)
|
28
66
|
#
|
29
67
|
class ParseOptions
|
30
68
|
# Strict parsing
|
31
69
|
STRICT = 0
|
32
|
-
|
70
|
+
|
71
|
+
# Recover from errors. On by default for XML::Document, XML::DocumentFragment,
|
72
|
+
# HTML4::Document, HTML4::DocumentFragment, XSLT::Stylesheet, and XML::Schema.
|
33
73
|
RECOVER = 1 << 0
|
34
|
-
|
74
|
+
|
75
|
+
# Substitute entities. Off by default.
|
76
|
+
#
|
77
|
+
# ⚠ This option enables entity substitution, contrary to what the name implies.
|
78
|
+
#
|
79
|
+
# ⚠ <b>It is UNSAFE to set this option</b> when parsing untrusted documents.
|
35
80
|
NOENT = 1 << 1
|
36
|
-
|
81
|
+
|
82
|
+
# Load external subsets. On by default for XSLT::Stylesheet.
|
83
|
+
#
|
84
|
+
# ⚠ <b>It is UNSAFE to set this option</b> when parsing untrusted documents.
|
37
85
|
DTDLOAD = 1 << 2
|
38
|
-
|
86
|
+
|
87
|
+
# Default DTD attributes. On by default for XSLT::Stylesheet.
|
39
88
|
DTDATTR = 1 << 3
|
40
|
-
|
89
|
+
|
90
|
+
# Validate with the DTD. Off by default.
|
41
91
|
DTDVALID = 1 << 4
|
42
|
-
|
92
|
+
|
93
|
+
# Suppress error reports. On by default for HTML4::Document and HTML4::DocumentFragment
|
43
94
|
NOERROR = 1 << 5
|
44
|
-
|
95
|
+
|
96
|
+
# Suppress warning reports. On by default for HTML4::Document and HTML4::DocumentFragment
|
45
97
|
NOWARNING = 1 << 6
|
46
|
-
|
98
|
+
|
99
|
+
# Enable pedantic error reporting. Off by default.
|
47
100
|
PEDANTIC = 1 << 7
|
48
|
-
|
101
|
+
|
102
|
+
# Remove blank nodes. Off by default.
|
49
103
|
NOBLANKS = 1 << 8
|
50
|
-
|
104
|
+
|
105
|
+
# Use the SAX1 interface internally. Off by default.
|
51
106
|
SAX1 = 1 << 9
|
52
|
-
|
107
|
+
|
108
|
+
# Implement XInclude substitution. Off by default.
|
53
109
|
XINCLUDE = 1 << 10
|
54
|
-
|
110
|
+
|
111
|
+
# Forbid network access. On by default for XML::Document, XML::DocumentFragment,
|
112
|
+
# HTML4::Document, HTML4::DocumentFragment, XSLT::Stylesheet, and XML::Schema.
|
113
|
+
#
|
114
|
+
# ⚠ <b>It is UNSAFE to unset this option</b> when parsing untrusted documents.
|
55
115
|
NONET = 1 << 11
|
56
|
-
|
116
|
+
|
117
|
+
# Do not reuse the context dictionary. Off by default.
|
57
118
|
NODICT = 1 << 12
|
58
|
-
|
119
|
+
|
120
|
+
# Remove redundant namespaces declarations. Off by default.
|
59
121
|
NSCLEAN = 1 << 13
|
60
|
-
|
122
|
+
|
123
|
+
# Merge CDATA as text nodes. On by default for XSLT::Stylesheet.
|
61
124
|
NOCDATA = 1 << 14
|
62
|
-
|
125
|
+
|
126
|
+
# Do not generate XInclude START/END nodes. Off by default.
|
63
127
|
NOXINCNODE = 1 << 15
|
64
|
-
|
128
|
+
|
129
|
+
# Compact small text nodes. Off by default.
|
130
|
+
#
|
131
|
+
# ⚠ No modification of the DOM tree is allowed after parsing. libxml2 may crash if you try to
|
132
|
+
# modify the tree.
|
65
133
|
COMPACT = 1 << 16
|
66
|
-
|
134
|
+
|
135
|
+
# Parse using XML-1.0 before update 5. Off by default
|
67
136
|
OLD10 = 1 << 17
|
68
|
-
|
137
|
+
|
138
|
+
# Do not fixup XInclude xml:base uris. Off by default
|
69
139
|
NOBASEFIX = 1 << 18
|
70
|
-
|
140
|
+
|
141
|
+
# Relax any hardcoded limit from the parser. Off by default.
|
142
|
+
#
|
143
|
+
# ⚠ There may be a performance penalty when this option is set.
|
71
144
|
HUGE = 1 << 19
|
72
|
-
|
145
|
+
|
146
|
+
# Support line numbers up to <code>long int</code> (default is a <code>short int</code>). On
|
147
|
+
# by default for for XML::Document, XML::DocumentFragment, HTML4::Document,
|
148
|
+
# HTML4::DocumentFragment, XSLT::Stylesheet, and XML::Schema.
|
73
149
|
BIG_LINES = 1 << 22
|
74
150
|
|
75
|
-
#
|
151
|
+
# The options mask used by default for parsing XML::Document and XML::DocumentFragment
|
76
152
|
DEFAULT_XML = RECOVER | NONET | BIG_LINES
|
77
|
-
|
153
|
+
|
154
|
+
# The options mask used by default used for parsing XSLT::Stylesheet
|
78
155
|
DEFAULT_XSLT = RECOVER | NONET | NOENT | DTDLOAD | DTDATTR | NOCDATA | BIG_LINES
|
79
|
-
|
156
|
+
|
157
|
+
# The options mask used by default used for parsing HTML4::Document and HTML4::DocumentFragment
|
80
158
|
DEFAULT_HTML = RECOVER | NOERROR | NOWARNING | NONET | BIG_LINES
|
81
|
-
|
159
|
+
|
160
|
+
# The options mask used by default used for parsing XML::Schema
|
82
161
|
DEFAULT_SCHEMA = NONET | BIG_LINES
|
83
162
|
|
84
163
|
attr_accessor :options
|
@@ -90,7 +169,7 @@ module Nokogiri
|
|
90
169
|
constants.each do |constant|
|
91
170
|
next if constant.to_sym == :STRICT
|
92
171
|
|
93
|
-
class_eval
|
172
|
+
class_eval <<~RUBY, __FILE__, __LINE__ + 1
|
94
173
|
def #{constant.downcase}
|
95
174
|
@options |= #{constant}
|
96
175
|
self
|
@@ -104,7 +183,7 @@ module Nokogiri
|
|
104
183
|
def #{constant.downcase}?
|
105
184
|
#{constant} & @options == #{constant}
|
106
185
|
end
|
107
|
-
|
186
|
+
RUBY
|
108
187
|
end
|
109
188
|
|
110
189
|
def strict
|
data/lib/nokogiri/xml/pp/node.rb
CHANGED
@@ -5,6 +5,8 @@ module Nokogiri
|
|
5
5
|
# :nodoc: all
|
6
6
|
module PP
|
7
7
|
module Node
|
8
|
+
COLLECTIONS = [:attribute_nodes, :children]
|
9
|
+
|
8
10
|
def inspect
|
9
11
|
attributes = inspect_attributes.reject do |x|
|
10
12
|
attribute = send(x)
|
@@ -21,11 +23,11 @@ module Nokogiri
|
|
21
23
|
nice_name = self.class.name.split("::").last
|
22
24
|
pp.group(2, "#(#{nice_name}:#{format("0x%x", object_id)} {", "})") do
|
23
25
|
pp.breakable
|
24
|
-
attrs = inspect_attributes.
|
26
|
+
attrs = inspect_attributes.filter_map do |t|
|
25
27
|
[t, send(t)] if respond_to?(t)
|
26
|
-
end.
|
28
|
+
end.find_all do |x|
|
27
29
|
if x.last
|
28
|
-
if
|
30
|
+
if COLLECTIONS.include?(x.first)
|
29
31
|
!x.last.empty?
|
30
32
|
else
|
31
33
|
true
|
@@ -34,7 +36,7 @@ module Nokogiri
|
|
34
36
|
end
|
35
37
|
|
36
38
|
pp.seplist(attrs) do |v|
|
37
|
-
if
|
39
|
+
if COLLECTIONS.include?(v.first)
|
38
40
|
pp.group(2, "#{v.first.to_s.sub(/_\w+$/, "s")} = [", "]") do
|
39
41
|
pp.breakable
|
40
42
|
pp.seplist(v.last) do |item|
|
@@ -88,9 +88,8 @@ module Nokogiri
|
|
88
88
|
|
89
89
|
###
|
90
90
|
# Parse given +io+
|
91
|
-
def parse_io(io, encoding =
|
92
|
-
|
93
|
-
ctx = ParserContext.io(io, ENCODINGS[@encoding])
|
91
|
+
def parse_io(io, encoding = @encoding)
|
92
|
+
ctx = ParserContext.io(io, ENCODINGS[check_encoding(encoding)])
|
94
93
|
yield ctx if block_given?
|
95
94
|
ctx.parse_with(self)
|
96
95
|
end
|
data/lib/nokogiri/xslt.rb
CHANGED
@@ -47,7 +47,7 @@ module Nokogiri
|
|
47
47
|
# [Returns] Array of string parameters, with quotes correctly escaped for use with XSLT::Stylesheet.transform
|
48
48
|
#
|
49
49
|
def quote_params(params)
|
50
|
-
params.flatten.each_slice(2).
|
50
|
+
params.flatten.each_slice(2).with_object([]) do |kv, quoted_params|
|
51
51
|
key, value = kv.map(&:to_s)
|
52
52
|
value = if /'/.match?(value)
|
53
53
|
"concat('#{value.gsub(/'/, %q{', "'", '})}')"
|
data/lib/nokogiri.rb
CHANGED
@@ -1,8 +1,6 @@
|
|
1
1
|
# coding: utf-8
|
2
2
|
# frozen_string_literal: true
|
3
3
|
|
4
|
-
require "rbconfig"
|
5
|
-
|
6
4
|
if defined?(RUBY_ENGINE) && RUBY_ENGINE == "jruby"
|
7
5
|
require_relative "nokogiri/jruby/dependencies"
|
8
6
|
end
|
@@ -88,17 +86,10 @@ module Nokogiri
|
|
88
86
|
|
89
87
|
# :nodoc:
|
90
88
|
def install_default_aliases
|
91
|
-
|
92
|
-
|
93
|
-
{
|
94
|
-
"Windows-31J" => "CP932", # Windows-31J is the IANA registered name of CP932.
|
95
|
-
}.each do |alias_name, name|
|
96
|
-
EncodingHandler.alias(name, alias_name) if EncodingHandler[alias_name].nil?
|
97
|
-
end
|
89
|
+
warn("Nokogiri.install_default_aliases is deprecated and will be removed in a future version of Nokogiri. Please call Nokogiri::EncodingHandler.install_default_aliases instead.")
|
90
|
+
Nokogiri::EncodingHandler.install_default_aliases
|
98
91
|
end
|
99
92
|
end
|
100
|
-
|
101
|
-
Nokogiri.install_default_aliases
|
102
93
|
end
|
103
94
|
|
104
95
|
###
|
@@ -124,5 +115,6 @@ require_relative "nokogiri/html"
|
|
124
115
|
require_relative "nokogiri/decorators/slop"
|
125
116
|
require_relative "nokogiri/css"
|
126
117
|
require_relative "nokogiri/html4/builder"
|
118
|
+
require_relative "nokogiri/encoding_handler"
|
127
119
|
|
128
120
|
require_relative "nokogiri/html5" if Nokogiri.uses_gumbo?
|
@@ -95,7 +95,9 @@ module XSD
|
|
95
95
|
end
|
96
96
|
|
97
97
|
["xmldecl", "start_document", "end_document", "comment"].each do |name|
|
98
|
-
class_eval
|
98
|
+
class_eval <<~RUBY, __FILE__, __LINE__ + 1
|
99
|
+
def #{name}(*args); end
|
100
|
+
RUBY
|
99
101
|
end
|
100
102
|
|
101
103
|
add_factory(self)
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: nokogiri
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.14.0
|
5
5
|
platform: x86_64-darwin
|
6
6
|
authors:
|
7
7
|
- Mike Dalessio
|
@@ -17,10 +17,10 @@ authors:
|
|
17
17
|
- Sergio Arbeo
|
18
18
|
- Timothy Elliott
|
19
19
|
- Nobuyoshi Nakada
|
20
|
-
autorequire:
|
20
|
+
autorequire:
|
21
21
|
bindir: bin
|
22
22
|
cert_chain: []
|
23
|
-
date:
|
23
|
+
date: 2023-01-12 00:00:00.000000000 Z
|
24
24
|
dependencies:
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: racc
|
@@ -36,248 +36,10 @@ dependencies:
|
|
36
36
|
- - "~>"
|
37
37
|
- !ruby/object:Gem::Version
|
38
38
|
version: '1.4'
|
39
|
-
- !ruby/object:Gem::Dependency
|
40
|
-
name: bundler
|
41
|
-
requirement: !ruby/object:Gem::Requirement
|
42
|
-
requirements:
|
43
|
-
- - "~>"
|
44
|
-
- !ruby/object:Gem::Version
|
45
|
-
version: '2.2'
|
46
|
-
type: :development
|
47
|
-
prerelease: false
|
48
|
-
version_requirements: !ruby/object:Gem::Requirement
|
49
|
-
requirements:
|
50
|
-
- - "~>"
|
51
|
-
- !ruby/object:Gem::Version
|
52
|
-
version: '2.2'
|
53
|
-
- !ruby/object:Gem::Dependency
|
54
|
-
name: hoe-markdown
|
55
|
-
requirement: !ruby/object:Gem::Requirement
|
56
|
-
requirements:
|
57
|
-
- - "~>"
|
58
|
-
- !ruby/object:Gem::Version
|
59
|
-
version: '1.4'
|
60
|
-
type: :development
|
61
|
-
prerelease: false
|
62
|
-
version_requirements: !ruby/object:Gem::Requirement
|
63
|
-
requirements:
|
64
|
-
- - "~>"
|
65
|
-
- !ruby/object:Gem::Version
|
66
|
-
version: '1.4'
|
67
|
-
- !ruby/object:Gem::Dependency
|
68
|
-
name: minitest
|
69
|
-
requirement: !ruby/object:Gem::Requirement
|
70
|
-
requirements:
|
71
|
-
- - "~>"
|
72
|
-
- !ruby/object:Gem::Version
|
73
|
-
version: '5.15'
|
74
|
-
type: :development
|
75
|
-
prerelease: false
|
76
|
-
version_requirements: !ruby/object:Gem::Requirement
|
77
|
-
requirements:
|
78
|
-
- - "~>"
|
79
|
-
- !ruby/object:Gem::Version
|
80
|
-
version: '5.15'
|
81
|
-
- !ruby/object:Gem::Dependency
|
82
|
-
name: minitest-reporters
|
83
|
-
requirement: !ruby/object:Gem::Requirement
|
84
|
-
requirements:
|
85
|
-
- - "~>"
|
86
|
-
- !ruby/object:Gem::Version
|
87
|
-
version: '1.4'
|
88
|
-
type: :development
|
89
|
-
prerelease: false
|
90
|
-
version_requirements: !ruby/object:Gem::Requirement
|
91
|
-
requirements:
|
92
|
-
- - "~>"
|
93
|
-
- !ruby/object:Gem::Version
|
94
|
-
version: '1.4'
|
95
|
-
- !ruby/object:Gem::Dependency
|
96
|
-
name: psych
|
97
|
-
requirement: !ruby/object:Gem::Requirement
|
98
|
-
requirements:
|
99
|
-
- - "~>"
|
100
|
-
- !ruby/object:Gem::Version
|
101
|
-
version: '4.0'
|
102
|
-
type: :development
|
103
|
-
prerelease: false
|
104
|
-
version_requirements: !ruby/object:Gem::Requirement
|
105
|
-
requirements:
|
106
|
-
- - "~>"
|
107
|
-
- !ruby/object:Gem::Version
|
108
|
-
version: '4.0'
|
109
|
-
- !ruby/object:Gem::Dependency
|
110
|
-
name: rake
|
111
|
-
requirement: !ruby/object:Gem::Requirement
|
112
|
-
requirements:
|
113
|
-
- - "~>"
|
114
|
-
- !ruby/object:Gem::Version
|
115
|
-
version: '13.0'
|
116
|
-
type: :development
|
117
|
-
prerelease: false
|
118
|
-
version_requirements: !ruby/object:Gem::Requirement
|
119
|
-
requirements:
|
120
|
-
- - "~>"
|
121
|
-
- !ruby/object:Gem::Version
|
122
|
-
version: '13.0'
|
123
|
-
- !ruby/object:Gem::Dependency
|
124
|
-
name: rake-compiler
|
125
|
-
requirement: !ruby/object:Gem::Requirement
|
126
|
-
requirements:
|
127
|
-
- - '='
|
128
|
-
- !ruby/object:Gem::Version
|
129
|
-
version: 1.1.7
|
130
|
-
type: :development
|
131
|
-
prerelease: false
|
132
|
-
version_requirements: !ruby/object:Gem::Requirement
|
133
|
-
requirements:
|
134
|
-
- - '='
|
135
|
-
- !ruby/object:Gem::Version
|
136
|
-
version: 1.1.7
|
137
|
-
- !ruby/object:Gem::Dependency
|
138
|
-
name: rake-compiler-dock
|
139
|
-
requirement: !ruby/object:Gem::Requirement
|
140
|
-
requirements:
|
141
|
-
- - '='
|
142
|
-
- !ruby/object:Gem::Version
|
143
|
-
version: 1.2.2
|
144
|
-
type: :development
|
145
|
-
prerelease: false
|
146
|
-
version_requirements: !ruby/object:Gem::Requirement
|
147
|
-
requirements:
|
148
|
-
- - '='
|
149
|
-
- !ruby/object:Gem::Version
|
150
|
-
version: 1.2.2
|
151
|
-
- !ruby/object:Gem::Dependency
|
152
|
-
name: rdoc
|
153
|
-
requirement: !ruby/object:Gem::Requirement
|
154
|
-
requirements:
|
155
|
-
- - "~>"
|
156
|
-
- !ruby/object:Gem::Version
|
157
|
-
version: '6.3'
|
158
|
-
type: :development
|
159
|
-
prerelease: false
|
160
|
-
version_requirements: !ruby/object:Gem::Requirement
|
161
|
-
requirements:
|
162
|
-
- - "~>"
|
163
|
-
- !ruby/object:Gem::Version
|
164
|
-
version: '6.3'
|
165
|
-
- !ruby/object:Gem::Dependency
|
166
|
-
name: rexical
|
167
|
-
requirement: !ruby/object:Gem::Requirement
|
168
|
-
requirements:
|
169
|
-
- - "~>"
|
170
|
-
- !ruby/object:Gem::Version
|
171
|
-
version: 1.0.7
|
172
|
-
type: :development
|
173
|
-
prerelease: false
|
174
|
-
version_requirements: !ruby/object:Gem::Requirement
|
175
|
-
requirements:
|
176
|
-
- - "~>"
|
177
|
-
- !ruby/object:Gem::Version
|
178
|
-
version: 1.0.7
|
179
|
-
- !ruby/object:Gem::Dependency
|
180
|
-
name: rubocop
|
181
|
-
requirement: !ruby/object:Gem::Requirement
|
182
|
-
requirements:
|
183
|
-
- - "~>"
|
184
|
-
- !ruby/object:Gem::Version
|
185
|
-
version: 1.30.1
|
186
|
-
type: :development
|
187
|
-
prerelease: false
|
188
|
-
version_requirements: !ruby/object:Gem::Requirement
|
189
|
-
requirements:
|
190
|
-
- - "~>"
|
191
|
-
- !ruby/object:Gem::Version
|
192
|
-
version: 1.30.1
|
193
|
-
- !ruby/object:Gem::Dependency
|
194
|
-
name: rubocop-minitest
|
195
|
-
requirement: !ruby/object:Gem::Requirement
|
196
|
-
requirements:
|
197
|
-
- - "~>"
|
198
|
-
- !ruby/object:Gem::Version
|
199
|
-
version: '0.17'
|
200
|
-
type: :development
|
201
|
-
prerelease: false
|
202
|
-
version_requirements: !ruby/object:Gem::Requirement
|
203
|
-
requirements:
|
204
|
-
- - "~>"
|
205
|
-
- !ruby/object:Gem::Version
|
206
|
-
version: '0.17'
|
207
|
-
- !ruby/object:Gem::Dependency
|
208
|
-
name: rubocop-performance
|
209
|
-
requirement: !ruby/object:Gem::Requirement
|
210
|
-
requirements:
|
211
|
-
- - "~>"
|
212
|
-
- !ruby/object:Gem::Version
|
213
|
-
version: '1.12'
|
214
|
-
type: :development
|
215
|
-
prerelease: false
|
216
|
-
version_requirements: !ruby/object:Gem::Requirement
|
217
|
-
requirements:
|
218
|
-
- - "~>"
|
219
|
-
- !ruby/object:Gem::Version
|
220
|
-
version: '1.12'
|
221
|
-
- !ruby/object:Gem::Dependency
|
222
|
-
name: rubocop-rake
|
223
|
-
requirement: !ruby/object:Gem::Requirement
|
224
|
-
requirements:
|
225
|
-
- - "~>"
|
226
|
-
- !ruby/object:Gem::Version
|
227
|
-
version: '0.6'
|
228
|
-
type: :development
|
229
|
-
prerelease: false
|
230
|
-
version_requirements: !ruby/object:Gem::Requirement
|
231
|
-
requirements:
|
232
|
-
- - "~>"
|
233
|
-
- !ruby/object:Gem::Version
|
234
|
-
version: '0.6'
|
235
|
-
- !ruby/object:Gem::Dependency
|
236
|
-
name: rubocop-shopify
|
237
|
-
requirement: !ruby/object:Gem::Requirement
|
238
|
-
requirements:
|
239
|
-
- - '='
|
240
|
-
- !ruby/object:Gem::Version
|
241
|
-
version: 2.5.0
|
242
|
-
type: :development
|
243
|
-
prerelease: false
|
244
|
-
version_requirements: !ruby/object:Gem::Requirement
|
245
|
-
requirements:
|
246
|
-
- - '='
|
247
|
-
- !ruby/object:Gem::Version
|
248
|
-
version: 2.5.0
|
249
|
-
- !ruby/object:Gem::Dependency
|
250
|
-
name: ruby_memcheck
|
251
|
-
requirement: !ruby/object:Gem::Requirement
|
252
|
-
requirements:
|
253
|
-
- - "~>"
|
254
|
-
- !ruby/object:Gem::Version
|
255
|
-
version: '1.0'
|
256
|
-
type: :development
|
257
|
-
prerelease: false
|
258
|
-
version_requirements: !ruby/object:Gem::Requirement
|
259
|
-
requirements:
|
260
|
-
- - "~>"
|
261
|
-
- !ruby/object:Gem::Version
|
262
|
-
version: '1.0'
|
263
|
-
- !ruby/object:Gem::Dependency
|
264
|
-
name: simplecov
|
265
|
-
requirement: !ruby/object:Gem::Requirement
|
266
|
-
requirements:
|
267
|
-
- - "~>"
|
268
|
-
- !ruby/object:Gem::Version
|
269
|
-
version: '0.21'
|
270
|
-
type: :development
|
271
|
-
prerelease: false
|
272
|
-
version_requirements: !ruby/object:Gem::Requirement
|
273
|
-
requirements:
|
274
|
-
- - "~>"
|
275
|
-
- !ruby/object:Gem::Version
|
276
|
-
version: '0.21'
|
277
39
|
description: |
|
278
40
|
Nokogiri (鋸) makes it easy and painless to work with XML and HTML from Ruby. It provides a
|
279
41
|
sensible, easy-to-understand API for reading, writing, modifying, and querying documents. It is
|
280
|
-
fast and standards-compliant by relying on native parsers like libxml2
|
42
|
+
fast and standards-compliant by relying on native parsers like libxml2, libgumbo, or xerces.
|
281
43
|
email: nokogiri-talk@googlegroups.com
|
282
44
|
executables:
|
283
45
|
- nokogiri
|
@@ -438,10 +200,10 @@ files:
|
|
438
200
|
- gumbo-parser/Makefile
|
439
201
|
- gumbo-parser/THANKS
|
440
202
|
- lib/nokogiri.rb
|
441
|
-
- lib/nokogiri/2.6/nokogiri.bundle
|
442
203
|
- lib/nokogiri/2.7/nokogiri.bundle
|
443
204
|
- lib/nokogiri/3.0/nokogiri.bundle
|
444
205
|
- lib/nokogiri/3.1/nokogiri.bundle
|
206
|
+
- lib/nokogiri/3.2/nokogiri.bundle
|
445
207
|
- lib/nokogiri/class_resolver.rb
|
446
208
|
- lib/nokogiri/css.rb
|
447
209
|
- lib/nokogiri/css/node.rb
|
@@ -453,6 +215,7 @@ files:
|
|
453
215
|
- lib/nokogiri/css/tokenizer.rex
|
454
216
|
- lib/nokogiri/css/xpath_visitor.rb
|
455
217
|
- lib/nokogiri/decorators/slop.rb
|
218
|
+
- lib/nokogiri/encoding_handler.rb
|
456
219
|
- lib/nokogiri/extension.rb
|
457
220
|
- lib/nokogiri/gumbo.rb
|
458
221
|
- lib/nokogiri/html.rb
|
@@ -462,6 +225,7 @@ files:
|
|
462
225
|
- lib/nokogiri/html4/document_fragment.rb
|
463
226
|
- lib/nokogiri/html4/element_description.rb
|
464
227
|
- lib/nokogiri/html4/element_description_defaults.rb
|
228
|
+
- lib/nokogiri/html4/encoding_reader.rb
|
465
229
|
- lib/nokogiri/html4/entity_lookup.rb
|
466
230
|
- lib/nokogiri/html4/sax/parser.rb
|
467
231
|
- lib/nokogiri/html4/sax/parser_context.rb
|
@@ -471,6 +235,7 @@ files:
|
|
471
235
|
- lib/nokogiri/html5/document_fragment.rb
|
472
236
|
- lib/nokogiri/html5/node.rb
|
473
237
|
- lib/nokogiri/jruby/dependencies.rb
|
238
|
+
- lib/nokogiri/jruby/nokogiri_jars.rb
|
474
239
|
- lib/nokogiri/syntax_error.rb
|
475
240
|
- lib/nokogiri/version.rb
|
476
241
|
- lib/nokogiri/version/constant.rb
|
@@ -525,7 +290,7 @@ metadata:
|
|
525
290
|
changelog_uri: https://nokogiri.org/CHANGELOG.html
|
526
291
|
source_code_uri: https://github.com/sparklemotion/nokogiri
|
527
292
|
rubygems_mfa_required: 'true'
|
528
|
-
post_install_message:
|
293
|
+
post_install_message:
|
529
294
|
rdoc_options:
|
530
295
|
- "--main"
|
531
296
|
- README.md
|
@@ -535,18 +300,18 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
535
300
|
requirements:
|
536
301
|
- - ">="
|
537
302
|
- !ruby/object:Gem::Version
|
538
|
-
version: '2.
|
303
|
+
version: '2.7'
|
539
304
|
- - "<"
|
540
305
|
- !ruby/object:Gem::Version
|
541
|
-
version: 3.
|
306
|
+
version: 3.3.dev
|
542
307
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
543
308
|
requirements:
|
544
309
|
- - ">="
|
545
310
|
- !ruby/object:Gem::Version
|
546
311
|
version: '0'
|
547
312
|
requirements: []
|
548
|
-
rubygems_version: 3.3.
|
549
|
-
signing_key:
|
313
|
+
rubygems_version: 3.3.26
|
314
|
+
signing_key:
|
550
315
|
specification_version: 4
|
551
316
|
summary: Nokogiri (鋸) makes it easy and painless to work with XML and HTML from Ruby.
|
552
317
|
test_files: []
|