Classes
IconRole
5
▼
Role for inline SVG icons.
Icon rendering requires a resolver function that maps icon names to SVG…
IconRole
5
▼
Role for inline SVG icons.
Icon rendering requires a resolver function that maps icon names to SVG. Without a resolver, this role renders placeholder text.
Usage (with resolver configured): → →
Usage (without resolver): → [icon:github]
Thread Safety:
Instance-level resolver ensures registry isolation.
Safe for concurrent use when resolver is thread-safe.
Attributes
| Name | Type | Description |
|---|---|---|
names |
ClassVar[tuple[str, ...]]
|
— |
token_type |
ClassVar[str]
|
— |
Methods
parse
3
Role
▼
Build the icon role AST node.
parse
3
Role
▼
def parse(self, name: str, content: str, location: SourceLocation) -> Role
Parameters
| Name | Type | Description |
|---|---|---|
name |
— |
The role name ("icon") |
content |
— |
Icon name (e.g., "github", "check") |
location |
— |
Source location for error reporting |
Returns
Role
A Role node for the AST
render
2
▼
Render icon role to HTML.
render
2
▼
def render(self, node: Role, sb: StringBuilder) -> None
Parameters
| Name | Type | Description |
|---|---|---|
node |
— |
The Role AST node to render |
sb |
— |
StringBuilder to append output to |
Internal Methods 1 ▼
__init__
1
▼
Initialize IconRole with optional resolver.
__init__
1
▼
def __init__(self, resolver: Callable[[str], str | None] | None = None) -> None
Parameters
| Name | Type | Description |
|---|---|---|
resolver |
— |
Function that takes icon name and returns SVG string or None. If None, icons render as placeholder text. Default:None
|