Module

directives.decorator

@directive decorator for reducing directive boilerplate.

Provides a concise decorator API for creating directive handlers with minimal boilerplate. Works with both functions and classes.

Example (function): >>> @directive("note", options=NoteOptions) >>> def render_note(node: Directive[NoteOptions], children: str, sb: StringBuilder) -> None: ... sb.append(f'

{children}
')

Example (class): >>> @directive("gallery", options=GalleryOptions, preserves_raw_content=True) >>> class GalleryDirective: ... def render(self, node, children: str, sb: StringBuilder) -> None: ... images = self._parse_images(node.raw_content) ... ...

Functions

directive 0 Callable[[Callable[[Dire…
def directive(*names: str) -> Callable[[Callable[[Directive[TOptions], str, StringBuilder], None]], type]
Returns
Callable[[Callable[[Directive[TOptions], str, StringBuilder], None]], type]
directive 0 Callable[[TClass], TClas…
def directive(*names: str) -> Callable[[TClass], TClass]
Returns
Callable[[TClass], TClass]
directive 0
Decorator to create directive handlers with minimal boilerplate. Works with bo…
def directive(*names: str)

Decorator to create directive handlers with minimal boilerplate.

Works with both functions (simple directives) and classes (complex directives).