The primary entry point into the extension system.
Registry holds the extensions which have been registered and activated,
has methods for registering a processor and looks up extensions stored
in the registry during parsing.
NOTE: In Crystal, the block/macro extension hashes use String keys
instead of Symbol keys because Crystal symbols are compile-time constants
and cannot be created dynamically from runtime strings.
Instance methods
activate(document : Document) : self
Activate all the global extension Groups and the extension Groups
associated with this registry.
Sourceblock(processor :
BlockProcessor, name :
String |
Nil = nil) :
ProcessorExtension Register a BlockProcessor.
Sourceblock_macro(processor :
BlockMacroProcessor, name :
String |
Nil = nil) :
ProcessorExtension Register a BlockMacroProcessor.
Sourceblock_macros?
Check whether any BlockMacroProcessor extensions have been registered.
Sourceblocks?
Check whether any BlockProcessor extensions have been registered.
Sourcedocinfo_processor(processor : DocinfoProcessor) : ProcessorExtension
Register a DocinfoProcessor.
Sourcedocinfo_processor_extensions
Sourcedocinfo_processors(location :
Symbol |
Nil = nil) :
Array(
ProcessorExtension)
Retrieve DocinfoProcessor extensions, optionally filtered by location.
Sourcedocinfo_processors?(location :
Symbol |
Nil = nil) :
Bool Check whether any DocinfoProcessor extensions have been registered.
Sourcedocument
The Document on which the extensions in this registry are being used.
Sourcefind_block_extension(name :
String) :
ProcessorExtension |
Nil Find a BlockProcessor extension by name.
Sourcefind_block_macro_extension(name :
String) :
ProcessorExtension |
Nil Find a BlockMacroProcessor extension by name.
Sourcefind_inline_macro_extension(name :
String) :
ProcessorExtension |
Nil Find an InlineMacroProcessor extension by name.
Sourcegroups
The Hash of Group classes or instances that have been registered.
Sourceinclude_processor(processor : IncludeProcessor) : ProcessorExtension
Register an IncludeProcessor.
Sourceinclude_processor_extensions
Sourceinclude_processors
Retrieve IncludeProcessor extensions.
Sourceinclude_processors?
Check whether any IncludeProcessor extensions have been registered.
Sourceinline_macro(processor :
InlineMacroProcessor, name :
String |
Nil = nil) :
ProcessorExtension Register an InlineMacroProcessor.
Sourceinline_macros
Retrieve all InlineMacroProcessor extensions.
Sourceinline_macros?
Check whether any InlineMacroProcessor extensions have been registered.
Sourcepostprocessor(processor : Postprocessor) : ProcessorExtension
Register a Postprocessor.
Sourcepostprocessor_extensions
Sourcepostprocessors
Retrieve Postprocessor extensions.
Sourcepostprocessors?
Check whether any Postprocessor extensions have been registered.
Sourcepreprocessor(processor : Preprocessor) : ProcessorExtension
Sourcepreprocessor_extensions
Extension stores for each processor type.
Sourcepreprocessors
Retrieve Preprocessor extensions.
Sourcepreprocessors?
Check whether any Preprocessor extensions have been registered.
Sourceregistered_for_block?(name :
String, context :
Symbol) :
ProcessorExtension |
Bool Check whether a BlockProcessor is registered for the given name and context.
Sourceregistered_for_block_macro?(name :
String) :
ProcessorExtension |
Bool Check whether a BlockMacroProcessor is registered for the given name.
Sourceregistered_for_inline_macro?(name :
String) :
ProcessorExtension |
Bool Check whether an InlineMacroProcessor is registered for the given name.
Sourcetree_processor(processor : TreeProcessor) : ProcessorExtension
Register a TreeProcessor.
Sourcetree_processor_extensions
Sourcetree_processors
Retrieve TreeProcessor extensions.
Sourcetree_processors?
Check whether any TreeProcessor extensions have been registered.
Source