gpt_markdown 1.2.1
gpt_markdown: ^1.2.1 copied to clipboard
Powerful Flutter Markdown & LaTeX Renderer: Rich Text, Math, Tables, Links, and Text Selection. Ideal for ChatGPT, Gemini, and more.
1.2.1 #
Changed #
- Radio list markers use
RadioGroupinstead ofRadio.groupValueandRadio.onChanged, which Flutter deprecated in 3.32. No visual or behavioural change — the marker looks and responds exactly as before. - Minimum Flutter is now 3.32.0, the release
RadioGroupwas added in.
Added #
InlinePattern.delimitedfor tokens that open and close, such as:emoji:,::spoiler::or{{token}}— the counterpart toInlinePattern.prefixed, which cannot express a closing delimiter. The token name is the named groupname. See docs/inline-syntax.md.
1.2.0 #
Upgrading from 1.1.x? See MIGRATION.md.
Changed #
- Deprecated
highlightBuilder. UseinlineCodeStylefor appearance, orinlineCodeBuilderfor full control. It still works, is now aligned on the text baseline, and will be removed in 2.0.0. - Inline code renders as a monospace chip that wraps across lines. Restyle with
inlineCodeStyle. - Autolinking is on by default. Disable with
autolink: false, and remove any pre-processor that rewrites bare URLs. ImageMd,TableMdandATagMdno longer render inside link labels. Custom components opt out withscopes.- Malformed links and unclaimed matches render as plain text instead of being dropped silently.
- Component dispatch is anchored as
^(?:pattern)$, so a pattern containing a top-level|no longer claims matches it does not cover. - Case-insensitive component patterns now match.
- Tests using
find.byType(RichText)needfind.byWidgetPredicate((w) => w is RichText)— some paragraphs render as aRichTextsubclass.
Added #
- Streaming reveal for generated replies, off by default:
GptMarkdown(text, animation: GptMarkdownAnimation.fade, isStreaming: true). Only the part of the reply that can still change is rebuilt, so the cost per token stays flat as the reply grows. The reveal keeps up with a fast model, fast-forwards whenisStreamingturns false, and honours reduced motion. See docs/streaming.md. GptMarkdownStyleSheetwith twelve per-component style classes, settable per widget or app-wide onGptMarkdownThemeData. Unset fields keep the previous defaults.- Builders for every component:
blockQuoteBuilder,headingBuilder,checkboxBuilder,radioOptionBuilder,hrBuilder. - Callbacks
onCheckboxChanged,onCodeCopy,onImageTap,onSourceTagTap. InlinePatternfor app-specific inline syntax such as@mention,#channeland:emoji:, withInlinePattern.prefixedfor the common case.MarkdownScopeandMarkdownComponent.scopes— components declare which nesting contexts they render in.- Autolinks following the GFM autolink extension and CommonMark §6.5, with
autolinkSchemesfor app schemes. GptMarkdownConfigand the builder typedefs are exported from the main import.
Fixed #
- Text scaling: components rendered through a
WidgetSpanreserved up to 39x the space they needed at a 2x system font setting. Every component now scales proportionally. - Theme changes did not repaint — colours are resolved when spans are built, and the cache was not invalidated.
GptMarkdownConfig.isSameignored several fields, so runtime changes to components, inline patterns and styles did nothing.- Inline widgets in right-to-left paragraphs render in visual order (flutter#54400).
GptMarkdownConfig.getRichreturnsWidgetinstead ofText.
1.1.7 #
- Added/updated the interactive playground and pub.dev example flow, with
playground.dartas a dedicated playground entry and improved demo content for links, lists, blockquotes, tables, and LaTeX. - Updated package metadata: bumped to
1.1.7, sethomepageto gptmarkdown.com, and addedrepository+issue_tracker. - Bumped
flutter_math_forkto^0.7.4for Flutter 3.35+ compatibility. - Fixed bold markdown rendering across newlines by enabling
dotAllinBoldMd. - Fixed link styling so underline/color (including hover color) apply consistently across nested inline spans (bold/italic) inside links via
LinkSpanBuilder. - Extended
imageBuilderto receive parsed size metadata from markdown image syntax (context, imageUrl, width, height). - Resolved deprecated radio API usage by wrapping
Radio<bool>withRadioGroupin custom radio rendering. - Cleaned up and corrected docs/example markdown content for the updated API and examples.
1.1.6 #
- Added
hrLinePaddingtoGptMarkdownThemeData(defaultEdgeInsets.zero), wired through the public factory,copyWith, andlerp, for padding around horizontal rules and the optional line after#headings. - Added
autoAddDividerLineAfterH1toGptMarkdownThemeData(defaulttrue), with the same factory /copyWith/lerpsupport, so the extra divider after a level-1 heading can be toggled from theme data. - Added
paddingtoCustomDivider(defaultEdgeInsets.zero); the render object lays out and paints the stroke inside those insets and uses the constrained width when drawing. - Added
GptMarkdownThemeData.isSameto compare every field on the theme data type. HTagandHrLineusehrLineColor,hrLinePadding, andautoAddDividerLineAfterH1fromGptMarkdownTheme.of(context)for the horizontal line widgets.
1.1.5 #
- Fixed block latex markdown syntax.
1.1.4 #
- 🔗 Fixed vertical alignment issue with link text rendering (#92)
- 📝 Resolved "null" rendering issue in ordered lists with multiple spaces and line breaks (#89)
- 🧹 Removed erroneous
trim()fromCodeBlockMdto preserve necessary whitespace in code blocks (#99) - 🎨 Fixed heading style customization issue where custom colors in heading styles were not being applied (#95)
1.1.3 #
- Added
RadioGroupwidget for managing radio buttons. - Updated to align with Flutter 3.35 by resolving the deprecations of
Radio.groupValueandRadio.onChanged.
1.1.2 #
- 📊 Fixed table column alignment support (#65)
- 🎨 Added
tableBuilderparameter to customize table rendering - 🔗 Fixed text decoration color of link markdown component
1.1.1 #
- 🖼️ Fixed issue where images wrapped in links (e.g.
[](url)) were not rendering properly (#72) - 🔗 Resolved parsing errors for consecutive inline links without spacing (e.g.
[a](url)[b](url)) (#34)
1.1.0 #
- Changed
onLinkTabtoonLinkTapfixed issues of newLine issues.
1.0.19 #
- Performance improvements.
1.0.18 #
- dollarSignForLatex is added and by default it is false.
1.0.17 #
- Bloc components rendering inside table.
1.0.16 #
IndentMdandBlockQuotefixed.- Baseline of bloc type component is fixed.
- block quote support improved.
- custom components support added.
Tablesyntax improved.
1.0.15 #
- Performance improvements.
1.0.14 #
- Added
orderedListBuilderandunOrderedListBuilderparameters to customize list rendering.
1.0.12 #
- imageBuilder parameter added.
1.0.11 #
- dart format.
1.0.10 #
- pubspec flutter version updated.
1.0.9 #
- Fixed issues with flutter 3.29.0.
- Fixed > syntax render issue.
1.0.8 #
- Extra lines inside block latex removed and $$..$$ syntax works with (..) syntax.
1.0.7 #
closedparameter added tocodeBuilder.
1.0.5 #
- Fixed the order of inline and block latex in markdown.
1.0.4 #
- Fixing latex issue for block syntax.
1.0.3 #
- Multiline latex syntax bug fix.
1.0.2 #
- Readme updated.
1.0.1 #
- Indentation fixed
ATagsyntax fixed- Documentation improved in readme and example.
1.0.0 #
TexMarkdownis renamed toGptMarkdown.h1toh6style added toGptMarkdownThemeDataclass.hrLineThicknessvalue added toGptMarkdownThemeDataclass.hrLineColorColor added toGptMarkdownThemeDataclass.linkColorColor added toGptMarkdownThemeDataclass.linkHoverColorColor added toGptMarkdownThemeDataclass.- Indentation improved.
- Math equations are now default selectable.
SelectableAdapterWidget added to make any widget selectable.
0.1.15 #
CodeBlockis moved out ofgpt_markdown.dartlibrary.
0.1.14 #
- Changed
withOpacitytowithAlphaintheme.dartfor highlightColor.
0.1.13 #
GptMarkdownThemeandGptMarkdownThemeDataclass moved togpt_markdown.dartlibrary.
0.1.12 #
- Fixed the indentation syntex of regex.
0.1.11 #
GptMarkdownThemeandGptMarkdownThemeDataclasses added.
0.1.10 #
- components are now selectable.
0.1.9 #
- source config added.
0.1.8 #
- unordered list bullet color fixed.
0.1.7 #
- ordered list color fixed.
0.1.6 #
overflowperameter added.
0.1.5 #
- Some color changes and highlighted text style changed.
0.1.4 #
[source]format added.
0.1.3 #
maxLinesParameter added.
0.1.2 #
textStyleParameter added to the latexBuilder function.
0.1.1 #
- Fixed hitTest essue.
0.1.0 #
-
Inline Latex Builder added and Link are now Clickable and Latex Error Color changed to null for debug mode.
-
textScaleFectoris removed andtextScaleradded
0.0.11 #
- New syntex added for codes and highlight.
0.0.10 #
$$_$$syntex fixes.
0.0.9 #
$_$syntex added for latex with a gard condition for\(_\).
0.0.8 #
$_$syntex added for latex with a gard condition for\(_\).
0.0.6 #
- Fixed textScaler problem by removeing that and added textScaleFector.
0.0.5 #
- Latex table workarround added.
0.0.4 #
- Customizable latex and workarround added.
0.0.3 #
- Some latex related fixes.
0.0.2 #
- TextScaler and TextAlign added.
0.0.1 #
- This package will render response of chatGPT in flutter app.