gpt_markdown 1.2.1 copy "gpt_markdown: ^1.2.1" to clipboard
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 RadioGroup instead of Radio.groupValue and Radio.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 RadioGroup was added in.

Added #

  • InlinePattern.delimited for tokens that open and close, such as :emoji:, ::spoiler:: or {{token}} — the counterpart to InlinePattern.prefixed, which cannot express a closing delimiter. The token name is the named group name. See docs/inline-syntax.md.

1.2.0 #

Upgrading from 1.1.x? See MIGRATION.md.

Changed #

  • Deprecated highlightBuilder. Use inlineCodeStyle for appearance, or inlineCodeBuilder for 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, TableMd and ATagMd no longer render inside link labels. Custom components opt out with scopes.
  • 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) need find.byWidgetPredicate((w) => w is RichText) — some paragraphs render as a RichText subclass.

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 when isStreaming turns false, and honours reduced motion. See docs/streaming.md.
  • GptMarkdownStyleSheet with twelve per-component style classes, settable per widget or app-wide on GptMarkdownThemeData. Unset fields keep the previous defaults.
  • Builders for every component: blockQuoteBuilder, headingBuilder, checkboxBuilder, radioOptionBuilder, hrBuilder.
  • Callbacks onCheckboxChanged, onCodeCopy, onImageTap, onSourceTagTap.
  • InlinePattern for app-specific inline syntax such as @mention, #channel and :emoji:, with InlinePattern.prefixed for the common case.
  • MarkdownScope and MarkdownComponent.scopes — components declare which nesting contexts they render in.
  • Autolinks following the GFM autolink extension and CommonMark §6.5, with autolinkSchemes for app schemes.
  • GptMarkdownConfig and the builder typedefs are exported from the main import.

Fixed #

  • Text scaling: components rendered through a WidgetSpan reserved 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.isSame ignored 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.getRich returns Widget instead of Text.

1.1.8 #

  • 🔗 Fixed consecutive links separated by single newlines not rendering (#142).

1.1.7 #

  • Added/updated the interactive playground and pub.dev example flow, with playground.dart as a dedicated playground entry and improved demo content for links, lists, blockquotes, tables, and LaTeX.
  • Updated package metadata: bumped to 1.1.7, set homepage to gptmarkdown.com, and added repository + issue_tracker.
  • Bumped flutter_math_fork to ^0.7.4 for Flutter 3.35+ compatibility.
  • Fixed bold markdown rendering across newlines by enabling dotAll in BoldMd.
  • Fixed link styling so underline/color (including hover color) apply consistently across nested inline spans (bold/italic) inside links via LinkSpanBuilder.
  • Extended imageBuilder to receive parsed size metadata from markdown image syntax (context, imageUrl, width, height).
  • Resolved deprecated radio API usage by wrapping Radio<bool> with RadioGroup in custom radio rendering.
  • Cleaned up and corrected docs/example markdown content for the updated API and examples.

1.1.6 #

  • Added hrLinePadding to GptMarkdownThemeData (default EdgeInsets.zero), wired through the public factory, copyWith, and lerp, for padding around horizontal rules and the optional line after # headings.
  • Added autoAddDividerLineAfterH1 to GptMarkdownThemeData (default true), with the same factory / copyWith / lerp support, so the extra divider after a level-1 heading can be toggled from theme data.
  • Added padding to CustomDivider (default EdgeInsets.zero); the render object lays out and paints the stroke inside those insets and uses the constrained width when drawing.
  • Added GptMarkdownThemeData.isSame to compare every field on the theme data type.
  • HTag and HrLine use hrLineColor, hrLinePadding, and autoAddDividerLineAfterH1 from GptMarkdownTheme.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() from CodeBlockMd to 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 RadioGroup widget for managing radio buttons.
  • Updated to align with Flutter 3.35 by resolving the deprecations of Radio.groupValue and Radio.onChanged.

1.1.2 #

  • 📊 Fixed table column alignment support (#65)
  • 🎨 Added tableBuilder parameter to customize table rendering
  • 🔗 Fixed text decoration color of link markdown component

1.1.1 #

  • 🖼️ Fixed issue where images wrapped in links (e.g. [![](img)](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 onLinkTab to onLinkTap fixed issues of newLine issues.

1.0.20 #

  • Fix: support balanced parentheses in image and link URLs. #68

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 #

  • IndentMd and BlockQuote fixed.
  • Baseline of bloc type component is fixed.
  • block quote support improved.
  • custom components support added.
  • Table syntax improved.

1.0.15 #

  • Performance improvements.

1.0.14 #

  • Added orderedListBuilder and unOrderedListBuilder parameters to customize list rendering.

1.0.13 #

  • Fixed issue #49.

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 #

  • closed parameter added to codeBuilder.

1.0.6 #

  • _italic_ and >Indentation syntax added.
  • linkBuilder and highlightBuilder added f45132b.

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
  • ATag syntax fixed
  • Documentation improved in readme and example.

1.0.0 #

  • TexMarkdown is renamed to GptMarkdown.
  • h1 to h6 style added to GptMarkdownThemeData class.
  • hrLineThickness value added to GptMarkdownThemeData class.
  • hrLineColor Color added to GptMarkdownThemeData class.
  • linkColor Color added to GptMarkdownThemeData class.
  • linkHoverColor Color added to GptMarkdownThemeData class.
  • Indentation improved.
  • Math equations are now default selectable.
  • SelectableAdapter Widget added to make any widget selectable.

0.1.15 #

  • CodeBlock is moved out of gpt_markdown.dart library.

0.1.14 #

  • Changed withOpacity to withAlpha in theme.dart for highlightColor.

0.1.13 #

  • GptMarkdownTheme and GptMarkdownThemeData class moved to gpt_markdown.dart library.

0.1.12 #

  • Fixed the indentation syntex of regex.

0.1.11 #

  • GptMarkdownTheme and GptMarkdownThemeData classes 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 #

  • overflow perameter added.

0.1.5 #

  • Some color changes and highlighted text style changed.

0.1.4 #

  • [source] format added.

0.1.3 #

  • maxLines Parameter added.

0.1.2 #

  • textStyle Parameter 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.

  • textScaleFector is removed and textScaler added

0.0.12 #

  • codeBuilder method added [#6], and maked the table scrollable.

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.
317
likes
160
points
152k
downloads

Documentation

API reference

Publisher

verified publisheruseval.io

Weekly Downloads

Powerful Flutter Markdown & LaTeX Renderer: Rich Text, Math, Tables, Links, and Text Selection. Ideal for ChatGPT, Gemini, and more.

Homepage
Repository (GitHub)
View/report issues

Topics

#markdown #latex #selectable #chatgpt #gemini

License

BSD-3-Clause (license)

Dependencies

flutter, flutter_math_fork

More

Packages that depend on gpt_markdown