ClassDirective
extends SubDirective
in package
A directive that parses the sub block and call the processSub that can be overloaded, like :
.. sub-directive:: Some block of code
You can imagine anything here, like adding emphasis, lists or titles
Table of Contents
Properties
Methods
- __construct() : mixed
- createNode() : Node|null
- getAliases() : array<string|int, string>
- When the default domain contains a class directive, this directive will be shadowed. Therefore, Sphinx re-exports it as rst-class.
- getName() : string
- Get the directive name
- process() : Node|null
- This is the function called by the parser to process the directive, it can be overloaded to do anything with the document, like tweaking nodes or change the parser context
- processNode() : Node
- This can be overloaded to write a directive that just create one node for the document, which is common
- getStartingRule() : Rule<string|int, CollectionNode>
- optionsToArray() : array<string, scalar|null>
- processSub() : Node
- readAllOptions() : array<string, scalar|array<string|int, scalar>|null>
- readOption() : mixed
- Gets an option value from a directive based on attribute configuration.
- setNodesClasses() : void
Properties
$startingRule
protected
Rule
$startingRule
Methods
__construct()
public
__construct(Rule<string|int, CollectionNode> $startingRule) : mixed
Parameters
- $startingRule : Rule<string|int, CollectionNode>
createNode()
public
createNode(DirectiveNode $directiveNode) : Node|null
Parameters
- $directiveNode : DirectiveNode
Return values
Node|nullgetAliases()
When the default domain contains a class directive, this directive will be shadowed. Therefore, Sphinx re-exports it as rst-class.
public
getAliases() : array<string|int, string>
See https://www.sphinx-doc.org/en/master/usage/restructuredtext/basics.html#rstclass
Return values
array<string|int, string>getName()
Get the directive name
public
getName() : string
Return values
stringprocess()
This is the function called by the parser to process the directive, it can be overloaded to do anything with the document, like tweaking nodes or change the parser context
public
final process(BlockContext $blockContext, Directive $directive) : Node|null
Parameters
- $blockContext : BlockContext
-
the current document context with the content of the directive
- $directive : Directive
-
parsed directive containing options and variable
Return values
Node|nullprocessNode()
This can be overloaded to write a directive that just create one node for the document, which is common
public
processNode(BlockContext $blockContext, Directive $directive) : Node
The arguments are the same that process
Parameters
- $blockContext : BlockContext
- $directive : Directive
Return values
NodegetStartingRule()
protected
getStartingRule() : Rule<string|int, CollectionNode>
Return values
Rule<string|int, CollectionNode>optionsToArray()
protected
optionsToArray(array<string|int, DirectiveOption> $options) : array<string, scalar|null>
Parameters
- $options : array<string|int, DirectiveOption>
Return values
array<string, scalar|null>processSub()
protected
processSub(BlockContext $blockContext, CollectionNode $collectionNode, Directive $directive) : Node
Parameters
- $blockContext : BlockContext
- $collectionNode : CollectionNode
- $directive : Directive
Return values
NodereadAllOptions()
protected
final readAllOptions(Directive $directive) : array<string, scalar|array<string|int, scalar>|null>
Parameters
- $directive : Directive
Return values
array<string, scalar|array<string|int, scalar>|null>readOption()
Gets an option value from a directive based on attribute configuration.
protected
final readOption(Directive $directive, string $optionName) : mixed
Looks up the option in the directive and returns its value converted to the appropriate type based on the Option attribute defined on this directive class. If the option is not present in the directive, returns the default value from the attribute.
Parameters
- $directive : Directive
-
The directive containing the options
- $optionName : string
-
The name of the option to retrieve
Return values
mixed —The option value converted to the appropriate type, or the default value
setNodesClasses()
private
setNodesClasses(array<string|int, Node> $nodes, array<string|int, string> $classes) : void
Parameters
- $nodes : array<string|int, Node>
- $classes : array<string|int, string>