module Nokogiri::HTML5::Node
Since v1.12.0
💡 HTML5 functionality is not available when running JRuby.
Public Instance Methods
# File lib/nokogiri/html5/node.rb, line 65 def fragment(tags) return super(tags) unless document.is_a?(HTML5::Document) DocumentFragment.new(document, tags, self) end
Calls superclass method
# File lib/nokogiri/html5/node.rb, line 28
def inner_html(options = {})
return super(options) unless document.is_a?(HTML5::Document)
result = options[:preserve_newline] && prepend_newline? ? +"\n" : +""
result << children.map { |child| child.to_html(options) }.join
result
end Calls superclass method
# File lib/nokogiri/html5/node.rb, line 36
def write_to(io, *options)
return super(io, *options) unless document.is_a?(HTML5::Document)
options = options.first.is_a?(Hash) ? options.shift : {}
encoding = options[:encoding] || options[0]
if Nokogiri.jruby?
save_options = options[:save_with] || options[1]
indent_times = options[:indent] || 0
else
save_options = options[:save_with] || options[1] || XML::Node::SaveOptions::FORMAT
indent_times = options[:indent] || 2
end
indent_string = (options[:indent_text] || " ") * indent_times
config = XML::Node::SaveOptions.new(save_options.to_i)
yield config if block_given?
config_options = config.options
if config_options & (XML::Node::SaveOptions::AS_XML | XML::Node::SaveOptions::AS_XHTML) != 0
# Use Nokogiri's serializing code.
native_write_to(io, encoding, indent_string, config_options)
else
# Serialize including the current node.
html = html_standard_serialize(options[:preserve_newline] || false)
encoding ||= document.encoding || Encoding::UTF_8
io << html.encode(encoding, fallback: lambda { |c| "&#x#{c.ord.to_s(16)};" })
end
end Calls superclass method
© 2008–2023 by Mike Dalessio, Aaron Patterson, Yoko Harada, Akinori MUSHA, John Shahid,
Karol Bucek, Sam Ruby, Craig Barnes, Stephen Checkoway, Lars Kanis, Sergio Arbeo,
Timothy Elliott, Nobuyoshi Nakada, Charles Nutter, Patrick MahoneyLicensed under the MIT License.
https://nokogiri.org/rdoc/Nokogiri/HTML5/Node.html