class Asciidoctor::Extensions::Registry

def block_macro *args, &block

registry and manages the instance of this BlockMacroProcessor.
Returns an instance of the [Extension] proxy object that is stored in the

end
end
...
process |parent, target, attrs|
register :gist do
# as a method block with an explicit macro name

end
end
...
process |parent, target, attrs|
named :gist
block_macro do
# as a method block

block 'GistBlockMacro', :gist
# as a name of a BlockMacroProcessor subclass with an explicit macro name

block 'GistBlockMacro'
# as a name of a BlockMacroProcessor subclass

block GistBlockMacro.new, :gist
# as an instance of a BlockMacroProcessor subclass with an explicit macro name

block GistBlockMacro.new
# as an instance of a BlockMacroProcessor subclass

block GistBlockMacro, :gist
# as a BlockMacroProcessor subclass with an explicit macro name

block GistBlockMacro
# as a BlockMacroProcessor subclass

Examples

If a name still cannot be determined, an error is raised.
it gets read from the name property of the BlockMacroProcessor instance.
registered to handle. If a block macro name is not passed as an argument,
(coersed to a Symbol) of the AsciiDoc block macro that this processor is
the first argument to this method. The second argument is the name
Unless the BlockMacroProcessor is passed as the method block, it must be

* A method block (i.e., Proc) that conforms to the BlockMacroProcessor contract
* The String name of a BlockMacroProcessor subclass
* An instance of a BlockMacroProcessor subclass
* A BlockMacroProcessor subclass

The BlockMacroProcessor may be one of four types:

process a block macro with the specified name.
Public: Registers a {BlockMacroProcessor} with the extension registry to
def block_macro *args, &block
  add_syntax_processor :block_macro, args, &block
end