Skip to main content

livemd_flutter 0.6.0 copy "livemd_flutter: ^0.6.0" to clipboard
livemd_flutter: ^0.6.0 copied to clipboard

A lossless continuous Markdown Live Preview editor for Flutter.

0.6.0 #

  • Add optional media import through pasteConfiguration. Applications own storage and players; the editor owns target tracking, insertion and undo.
  • Import multiple images/animations, audio and video in original order, with bounded concurrency, atomic insertion, per-item outcomes and unused-upload reporting. Each batch is one undo step.
  • Handle document, table and Callout paste actions, image-only menus, browser paste events, iOS native paste selectors, and Android keyboard commitContent.
  • Add mediaTypeResolver for persistent attachment metadata and extensionless URLs, including table/Callout rendering and media tap dispatch.
  • Preserve text fallback, parent rebuilds, original selections and outside focus; cancel conflicting, undone, disposed or replaced-document imports safely.
  • Preserve escaped destinations, empty alt text, and Callout local/global selection/composition mapping. Honor host resolvers in Callout media previews.
  • Add the optional livemd_flutter_clipboard adapter, cross-platform example, native/mobile/browser tests, and Windows/Linux CI verification.

0.5.0 #

  • Add a semantic LiveMarkdownThemeData extension with application/local partial overrides and a host-adaptive Openbox default preset.
  • BREAKING: remove editorStyle, markdownStyleSheet, direct appearance, previewBuilder, LiveMarkdownPreviewBuilder and blockSpacing from the editor. Semantic styles now use only theme; there is no compatibility layer.
  • Expose supported table width, alignment, cell decoration and horizontal padding controls through LiveMarkdownThemeData.
  • Add an embedded-host example comparing Openbox, compact desktop and dark borderless styles without replacing the controller or editor.
  • Add optional editor appearance colors with shared internal default resolution.
  • Allow Callout left-border and corner-radius overrides without changing layout.
  • Respect explicit link decorations in document and table inline projections.
  • Add theme-switching examples and regressions for rendered styles, source reveal, caret geometry, focus, and document state.

0.4.1 #

  • Add a five-minute quick start with a complete, runnable editor example.
  • Document public editor callbacks, controller lifecycle and history, media integration, and source-aware APIs.
  • Expand the example guide with feature walkthroughs and application integration instructions; test that the README matches the runnable quick-start source.
  • Documentation and examples only; no editor behavior changes.

0.4.0 #

  • Edit Callout titles and bodies inside the rendered shell while preserving global source, focus handoff, caret metrics, and preview-to-edit geometry.

  • Stabilize table cell input ownership, text preservation, caret positions, and pointer focus; ignore accidental mouse micro-drags.

  • Keep ATX heading baselines and fenced-code rows fixed while their source markers appear; code fences now retain one full-width background through reveal and scrolling.

  • Parse GFM tables as exact source-positioned blocks and edit rendered cells in place with global selection, composing, and undo state.

  • Add Obsidian-style table navigation, row/column insertion and deletion, dedicated add gutters, and a same-footprint whole-table source editor for arrow-key traversal.

  • Split media projection into compact inline embeds, 240 px standalone image/video previews, and a 48 px standalone audio player.

  • Keep a standalone media preview visible below its revealed source line, while pointer clicks remain media actions and arrow traversal remains source-aware.

  • Remove avoidable vertical movement when revealing links, Wiki links, inline styles, list/task/quote prefixes, headings, and complex block source.

  • Collapse hidden complex-block newlines without losing UTF-16 source offsets, and give rendered code, Callout, table, and rule previews the same height budget as their editable source.

  • Snap pointer-like selections out of nested media ranges and preserve exact projection length for standalone media and indented task prefixes.

  • Preserve injected audio/video player state while standalone source is revealed, allow pointer repositioning inside keyboard-revealed media source, and fall back to literal source when a media projection cannot fit safely.

  • Expand the example and regression matrix for inline/block media, rapid task clicks, arrow-key entry/exit, caret height, X stability, and following-line Y stability.

0.3.0 #

  • Render complete ![alt](destination) syntax as an inline picture with a broken-image fallback, while arrow-key traversal into the image range still reveals the exact source.
  • Resolve image destinations through an injectable LiveMarkdownImageResolver that maps asset: paths to the application bundle instead of the network.
  • Disable the editable text forced strut so rendered Markdown owns its line heights, and reserve the exact image row height: heading lines, block rows, and inline placeholders no longer overflow or overlap their neighbors.
  • Keep hidden marker runs height-tight so revealing inline syntax keeps the following content vertically stable.
  • Report picture clicks through onImageTap and snap stray pointer carets out of image source ranges, so clicks near a rendered row never reveal source that the caret was not meant to enter.
  • Render ![alt](destination.mp4) as a video slot when the destination is a video file, with an injectable LiveMarkdownVideoBuilder for real playback, an onVideoTap pointer action, and source reveal on caret traversal.
  • Render ![alt](destination.mp3) as an audio slot when the destination is an audio file, with an injectable LiveMarkdownAudioBuilder for real playback, an onAudioTap pointer action, and source reveal on caret traversal.
  • Size the caret to the natural glyph height (ascent plus descent) instead of the whole leading-inflated line, so it covers lowercase descenders without poking into the neighbors.
  • Make the whole task marker one opaque hit target so clicking anywhere on it toggles the task instead of placing the caret inside the marker.

0.2.0 #

  • Replace the per-block preview/TextField switcher with one continuous native editing surface and a source-range projection layer.
  • Store the complete TextEditingValue, including global selection and IME composing state, in LiveMarkdownController.
  • Add a lossless positioned syntax tree with nested inline nodes, complex link destinations, Wiki aliases, escaping, and literal incomplete states.
  • Make rendered links and task checkboxes pointer actions while arrow-key traversal into the same ranges reveals their Markdown source.
  • Keep rapid task-checkbox clicks inside a full-line hit target and derive each toggle from the latest source state, preventing accidental source reveal.
  • Add Obsidian-style list, task, ordered-list, and quote Enter/Shift+Enter, Backspace, Tab, Shift+Tab, and ordered renumbering commands.
  • Keep code fences, Callouts, GFM tables, and thematic breaks rendered until the caret enters their source range.
  • Add global selection, IME, interaction, structural editing, nested syntax, and vertical-stability regression tests.
  • Record an Obsidian 1.13.7 behavior oracle and expand the macOS example.

0.1.0 #

  • Add lossless Markdown block parsing.
  • Add live preview editor and document controller.
  • Reveal source markers only for the inline token containing the caret.
  • Keep font size, weight, and line height stable when source markers appear.
  • Keep blank-line insertion focused after Return and support Backspace joins.
  • Map preview taps to source offsets instead of always jumping to block end.
  • Add arrow-key navigation between semantic blocks.
  • Keep task and bullet markers visual while their source stays lossless.
  • Keep single-line headings, paragraphs, and list items at a fixed vertical position while source markers expand.
  • Add undo/redo, theming hooks, tests, and a macOS/web example.
0
likes
160
points
234
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

A lossless continuous Markdown Live Preview editor for Flutter.

Repository (GitHub)

License

MIT (license)

Dependencies

flutter, flutter_markdown_plus, meta

More

Packages that depend on livemd_flutter