MarkdownHelpButton class

A help button that loads its content from a markdown asset file.

The markdown file must contain a <!-- tooltip --> marker and a <!-- details --> marker. Text between those markers becomes the hover tooltip; text after <!-- details --> is rendered as the click-open dialog body.

The first line of the file (an # H1 heading) is used as the dialog title. Everything before <!-- tooltip --> is ignored at runtime (it serves as the visible title when previewing the raw markdown).

Markdown file layout

# 🌳 My Tool — Help          ← dialog title (H1)

<!-- tooltip -->

Short keybinding summary      ← hover tooltip (plain text)
shown on mouse hover.

<!-- details -->

## Section                    ← dialog section heading

| Key | Description |         ← table header (required before rows)
|-----|-------------|
| F   | Fit to canvas |       ← key–description entry

Any paragraph text.           ← rendered as body text
Inheritance

Constructors

MarkdownHelpButton({required String assetPath, required bool isDark, String label = '❓', Widget? labelIcon, String? package, Widget? titleIcon, Map<String, String>? substitutions, Key? key})
Create a MarkdownHelpButton.
const

Properties

assetPath String
Path to the markdown asset file (e.g. assets/help/my_help.md).
final
hashCode int
The hash code for this object.
no setterinherited
isDark bool
Whether the current theme is dark mode.
final
key Key?
Controls how one widget replaces another widget in the tree.
finalinherited
label String
Optional override for the button label (defaults to ).
final
labelIcon Widget?
Optional widget to use as the button icon instead of label.
final
package String?
Optional package name that owns the asset.
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
substitutions Map<String, String>?
Optional text substitutions applied to the markdown before parsing.
final
titleIcon Widget?
Optional widget shown before the dialog title text.
final

Methods

createElement() StatefulElement
Creates a StatefulElement to manage this widget's location in the tree.
inherited
createState() State<MarkdownHelpButton>
Creates the mutable state for this widget at a given location in the tree.
override
debugDescribeChildren() List<DiagnosticsNode>
Returns a list of DiagnosticsNode objects describing this node's children.
inherited
debugFillProperties(DiagnosticPropertiesBuilder properties) → void
Add additional properties associated with the node.
override
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toDiagnosticsNode({String? name, DiagnosticsTreeStyle? style}) DiagnosticsNode
Returns a debug representation of the object that is used by debugging tools and by DiagnosticsNode.toStringDeep.
inherited
toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) String
A string representation of this object.
inherited
toStringDeep({String prefixLineOne = '', String? prefixOtherLines, DiagnosticLevel minLevel = DiagnosticLevel.debug, int wrapWidth = 65}) String
Returns a string representation of this node and its descendants.
inherited
toStringShallow({String joiner = ', ', DiagnosticLevel minLevel = DiagnosticLevel.debug}) String
Returns a one-line detailed description of the object.
inherited
toStringShort() String
A short, textual description of this widget.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited