Module

directives.builtins.dropdown

Dropdown directive for collapsible content.

Provides collapsible sections with markdown support including nested directives and code blocks.

Options:

:open: Start expanded (default: false) :icon: Icon name to display next to the title :badge: Badge text (e.g., "New", "Advanced", "Beta") :color: Color variant (success, warning, danger, info, minimal) :description: Secondary text below the title :class: Additional CSS classes

Example:

Thread Safety:

Stateless handler. Safe for concurrent use across threads.

Classes

DropdownOptions 5
Options for dropdown directive.

Options for dropdown directive.

Attributes

Name Type Description
open bool

Whether dropdown is initially open (expanded)

icon str | None

Icon name to display next to the title

badge str | None

Badge text (e.g., "New", "Advanced", "Beta")

color str | None

Color variant (success, warning, danger, info, minimal)

description str | None

Secondary text below the title

DropdownDirective 7
Handler for dropdown (collapsible) directive. Renders collapsible content using <details>/<summary…

Handler for dropdown (collapsible) directive.

Renders collapsible content using

/.

Thread Safety:

Stateless handler. Safe for concurrent use.

Attributes

Name Type Description
names ClassVar[tuple[str, ...]]
token_type ClassVar[str]
contract ClassVar[DirectiveContract | None]
options_class ClassVar[type[DropdownOptions]]
preserves_raw_content ClassVar[bool]

Methods

parse 6 Directive
Build dropdown AST node.
def parse(self, name: str, title: str | None, options: DropdownOptions, content: str, children: Sequence[Block], location: SourceLocation) -> Directive
Parameters
Name Type Description
name
title
options
content
children
location
Returns
Directive
render 3
Render dropdown to HTML.
def render(self, node: Directive[DropdownOptions], rendered_children: str, sb: StringBuilder) -> None
Parameters
Name Type Description
node

Directive AST node

rendered_children

Pre-rendered child content

sb

StringBuilder for output

Functions

_render_dropdown_icon 1 str
Render dropdown icon using icon resolver.
def _render_dropdown_icon(icon_name: str) -> str
Parameters
Name Type Description
icon_name str

Name of the icon to render

Returns
str