Classes
IconOptions
dataclass
Options for icon directive.
IconOptions
dataclass Options for icon directive.
Inherits from
DirectiveOptionsAttributes
| Name | Type | Description |
|---|---|---|
size |
int |
Icon size in pixels |
css_class |
str |
Additional CSS classes |
aria_label |
str |
Accessibility label |
_field_aliases |
ClassVar[dict[str, str]] |
Internal Methods 1
__post_init__
Validate size falls back to default on invalid input.
__post_init__
def __post_init__(self) -> None
Validate size falls back to default on invalid input.
IconDirective
Icon directive for inline SVG icons.
Syntax:
:::{icon} terminal
:::
:::{icon} docs
…
IconDirective
Icon directive for inline SVG icons.
Syntax:
:::{icon} terminal
:::
:::{icon} docs
:size: 16
:class: text-muted
:::
Options:
:size: Icon size in pixels (default: 24)
:class: Additional CSS classes
:aria-label: Accessibility label (default: icon name)
Inherits from
BengalDirectiveAttributes
| Name | Type | Description |
|---|---|---|
NAMES |
ClassVar[list[str]] |
|
TOKEN_TYPE |
ClassVar[str] |
|
OPTIONS_CLASS |
ClassVar[type[DirectiveOptions]] |
|
DIRECTIVE_NAMES |
ClassVar[list[str]] |
Methods 2
parse_directive
Build icon token.
parse_directive
def parse_directive(self, title: str, options: IconOptions, content: str, children: list[Any], state: Any) -> DirectiveToken
Build icon token.
Parameters 5
title |
str |
|
options |
IconOptions |
|
content |
str |
|
children |
list[Any] |
|
state |
Any |
Returns
DirectiveToken
render
Render icon directive to inline SVG.
render
def render(self, renderer: Any, text: str, **attrs: Any) -> str
Render icon directive to inline SVG.
Parameters 2
renderer |
Any |
|
text |
str |
Returns
str
Functions
_set_icons_directory
Set the icons directory (called during site initialization).
_set_icons_directory
def _set_icons_directory(path: Path) -> None
Set the icons directory (called during site initialization).
Parameters 1
| Name | Type | Default | Description |
|---|---|---|---|
path |
Path |
— |
_load_icon
Load an icon SVG by name.
_load_icon
def _load_icon(name: str) -> str | None
Load an icon SVG by name.
Parameters 1
| Name | Type | Default | Description |
|---|---|---|---|
name |
str |
— |
Returns
str | None
get_available_icons
Get list of available icon names.
get_available_icons
def get_available_icons() -> list[str]
Get list of available icon names.
Returns
list[str]
render_icon
Legacy render function for backward compatibility.
render_icon
def render_icon(renderer: Any, text: str, **attrs: Any) -> str
Legacy render function for backward compatibility.
Parameters 2
| Name | Type | Default | Description |
|---|---|---|---|
renderer |
Any |
— | |
text |
str |
— |
Returns
str