class Asciidoctor::Converter::Base
An abstract base class for defining converters that can be used to convert {AbstractNode} objects in a parsed AsciiDoc document to a backend format such as HTML or DocBook.
Public Instance Methods
Public: Converts the {AbstractNode} using only its converted content.
Returns the converted [String] content.
# File lib/asciidoctor/converter.rb, line 404 def content_only node node.content end
Public: Converts an {AbstractNode} by delegating to a method that matches the transform value.
This method looks for a method whose name matches the transform prefixed
with “convert_” to dispatch to. If the opts
argument is
non-nil, this method assumes the dispatch method accepts two arguments, the
node and an options Hash. The options Hash may be used by converters to delegate back
to the top-level converter. Currently, this feature is used for the outline
transform. If the opts
argument is nil, this method assumes
the dispatch method accepts the node as its only argument.
See {Converter#convert} for details about the arguments and return value.
# File lib/asciidoctor/converter.rb, line 389 def convert node, transform = node.node_name, opts = nil opts ? (send 'convert_' + transform, node, opts) : (send 'convert_' + transform, node) rescue raise unless ::NoMethodError === (ex = $!) && ex.receiver == self && ex.name.to_s == transform logger.warn %Q(missing convert handler for #{ex.name} node in #{@backend} backend (#{self.class})) nil end
# File lib/asciidoctor/converter.rb, line 397 def handles? transform respond_to? %Q(convert_#{transform}) end
Public: Skips conversion of the {AbstractNode}.
Returns nothing.
# File lib/asciidoctor/converter.rb, line 411 def skip node; end