Default components / Structure
Horizontal rule
Renders a Markdown divider as a themed horizontal rule.
What it renders
Live Flutter preview
Starting the Flutter widget
Rendering this component with gpt_markdown…
This is the real GptMarkdown Flutter widget, rendered with the exact Markdown input shown here.
Markdown input
1Before the break
2
3---
4
5After the breakDefault behavior
Runtime behavior
A run of three or more hyphens (or the horizontal bar character) is treated as a divider.
Accessibility note
Use a divider only for a real thematic break; it should not replace a heading.
Theming & styling
Theme layering guideHrStyle is the component's appearance surface. Set only the values you need; style-sheet values merge field-by-field with the active theme and package defaults.
| Style class | Available fields |
|---|---|
| HrStyle | thickness · color · padding |
1GptMarkdown(
2 markdown,
3 styleSheet: const GptMarkdownStyleSheet(
4 hr: HrStyle(
5 thickness: 2,
6 color: Color(0x1F000000),
7 padding: EdgeInsets.symmetric(vertical: 16),
8 ),
9 ),
10)App-wide or scoped theme
1GptMarkdownThemeData(
2 brightness: Brightness.light,
3 styleSheet: const GptMarkdownStyleSheet(
4 hr: HrStyle(
5 // Set only the values your app needs.
6 ),
7 ),
8)Builders & callbacks
hrBuilder
Widget Function(BuildContext context, HrStyle style)
Use this only when the default widget structure is no longer the right shape. The resolved style or configuration is passed where applicable.
Safely override the default
A custom component list replaces a default list entirely. Put your matching component first, then append the package defaults so every other Markdown feature continues to render.
1// Passing components replaces its defaults. Prepend to override matching syntax,
2// then keep every built-in component after it.
3GptMarkdown(
4 markdown,
5 components: [
6 MyHrLineOverride(),
7 ...MarkdownComponent.globalComponents,
8 ],
9)