Module

rendering.plugins.directives.badge

Badge directive for Mistune.

Provides MyST-style badge directive:{badge} Text :class: badge-class

Architecture:

Migrated to BengalDirective base class as part of directive system v2.

Classes

BadgeOptions dataclass
Options for badge directive.
0

Options for badge directive.

Inherits from DirectiveOptions

Attributes

Name Type Description
css_class str

CSS classes for the badge

_field_aliases ClassVar[dict[str, str]]
BadgeDirective
Badge directive for MyST-style badges. Syntax: :::{badge} Command :class: badge-cli-comman…
3

Badge directive for MyST-style badges.

Syntax:

:::{badge} Command
:class: badge-cli-command
:::

:::{badge} Deprecated
:class: badge-danger
:::

The badge text is provided as the title (after directive name). Optional :class: attribute specifies CSS classes. Default class is "badge badge-secondary".

Aliases:

  • badge: Primary name
  • bdg: Short alias for compatibility
Inherits from BengalDirective

Attributes

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 badge token from parsed components. Title is the badge text. Ensures bas…
5 DirectiveToken
def parse_directive(self, title: str, options: BadgeOptions, content: str, children: list[Any], state: Any) -> DirectiveToken

Build badge token from parsed components.

Title is the badge text. Ensures base "badge" class is present.

Parameters 5
title str
options BadgeOptions
content str
children list[Any]
state Any
Returns

DirectiveToken

render
Render badge as HTML span. Returns empty string if no label text.
2 str
def render(self, renderer: Any, text: str, **attrs: Any) -> str

Render badge as HTML span.

Returns empty string if no label text.

Parameters 2
renderer Any
text str
Returns

str

Internal Methods 1
_ensure_base_class staticmethod
Ensure the badge has a base class (badge or api-badge). Handles cases like "ba…
1 str
def _ensure_base_class(css_class: str) -> str

Ensure the badge has a base class (badge or api-badge).

Handles cases like "badge-secondary", "badge-danger", "api-badge", etc.

Parameters 1
css_class str
Returns

str

Functions

render_badge
Legacy render function for backward compatibility.
2 str
def render_badge(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