Skip to content

MarkdownWidget

Namespace: Hex1b.Widgets

Assembly: Hex1b.dll

A widget that parses markdown source and renders it as a composed widget tree. Block rendering is extensible via which registers middleware-style handler callbacks.

csharp
public sealed record MarkdownWidget : Hex1bWidget, IEquatable<Hex1bWidget>, IEquatable<MarkdownWidget>

Inheritance

ObjectHex1bWidgetMarkdownWidget

Implements

Constructors

MarkdownWidget(IHex1bDocument)

Creates a that reads its content from an . The document's is used for efficient change detection; re-parsing only occurs when the version advances.

Parameters:

csharp
public MarkdownWidget(IHex1bDocument document)

MarkdownWidget(string)

A widget that parses markdown source and renders it as a composed widget tree. Block rendering is extensible via which registers middleware-style handler callbacks.

Parameters:

  • Source (String): The markdown source text.
csharp
public MarkdownWidget(string Source)

Properties

Source

The markdown source text.

Returns: String

csharp
public string Source { get; init; }

Methods

Focusable(bool)

Enables or disables focusable children (links) in the markdown content. When enabled, links become Tab-focusable and the containing scroll panel auto-scrolls to show the focused link.

Parameters:

  • children (Boolean): Whether child links should be focusable.

Returns: MarkdownWidget

csharp
public MarkdownWidget Focusable(bool children = false)

OnBlock<TBlock>(Func<MarkdownBlockContext, TBlock, Hex1bWidget>)

Registers a handler for a specific block type. Multiple handlers for the same type form a middleware chain: the last registered is called first. Call within your handler to invoke the next handler in the chain (or the built-in default).

Parameters:

Returns: MarkdownWidget

csharp
public MarkdownWidget OnBlock<TBlock>(Func<MarkdownBlockContext, TBlock, Hex1bWidget> handler) where TBlock : MarkdownBlock

OnImageLoad(MarkdownImageLoader)

Registers an image loader callback for rendering embedded images. The callback receives a (relative or absolute) and the alt text, and should return decoded RGBA pixel data, or null to fall back to text rendering.

Parameters:

Returns: MarkdownWidget

csharp
public MarkdownWidget OnImageLoad(MarkdownImageLoader loader)

OnLinkActivated(Action<MarkdownLinkActivatedEventArgs>)

Registers a synchronous handler for link activation events.

Parameters:

Returns: MarkdownWidget

csharp
public MarkdownWidget OnLinkActivated(Action<MarkdownLinkActivatedEventArgs> handler)

OnLinkActivated(Func<MarkdownLinkActivatedEventArgs, Task>)

Registers an asynchronous handler for link activation events.

Parameters:

Returns: MarkdownWidget

csharp
public MarkdownWidget OnLinkActivated(Func<MarkdownLinkActivatedEventArgs, Task> handler)

Released under the MIT License.