The name of the plugin
OptionalprepareCalled each time the plugin's processor is run, before any other method of this plugin is called. Use this to add default settings to the request and to check that all required data is present in the response. If not, throw an [[ArgdownPluginError]] to cancel the the current processor's execution.
OptionalruleA map of [[IRuleNode]] event listeners to be added to [[IArgdownPlugin.ruleListeners]]. You can use ruleListeners to visit every rule node in the Argdown AST.
The listeners will be called by the ArgdownTreeWalker event emitter before the [[run]] method and after the [[prepare]] method.
The tree walker visits the nodes depth first and emits
[RuleNames.RULE_NAME + "Entry"] and [RuleNames.RULE_NAME + "Exit"] events for every [[IRuleNode]] encountered.
The eventId has to be a [[RuleNames]] member plus either "Entry" or "Exit".
OptionalrunUse this method to do the main work outside of the Argdown AST. This is the last method to be called by the [[ArgdownApplication]].
OptionaltokenA map of [[ITokenNode]] event listeners. You can use tokenListeners to visit every token node in the Argdown abstract syntax tree.
The listeners will be called by the ArgdownTreeWalker event emitter before the [[run]] method and after the [[prepare]] method.
The tree walker visits the nodes depth first and emits
[TokenNames.TOKEN_NAME] events for every [[ITokenNode]] encountered.
The eventId has to be a [[TokenNames]] member.
A plugin that can be added to an [[ArgdownApplication]] with
app.AddPlugin(plugin, processorId).Can walk the Argdown AST by using
tokenListenersandruleListeners. Should use therunmethod for everything else.Plugins should avoid keeping any local mutable state. Instead they should use the provided request object for configuration and the provided response object for returning any produced or transformed data. The only exceptions are I/O operations (e.g. loading or saving files).
See the guide on writing custom plugins for more information.
Example