live_markdown_editor 0.11.0 copy "live_markdown_editor: ^0.11.0" to clipboard
live_markdown_editor: ^0.11.0 copied to clipboard

A source-preserving Flutter Markdown editor with raw, live, and read modes.

example/lib/main.dart

import 'package:flutter/widgets.dart';
import 'package:live_markdown_editor/live_markdown_editor.dart';

import 'demo_presets.dart';
import 'demo_settings.dart';
import 'demo_workspace.dart';
import 'editor_host.dart';

void main() => runApp(const EditorDemoApp());

/// A responsive package demonstration where the editor is always the primary
/// surface and every host preview edits the same canonical source.
final class EditorDemoApp extends StatefulWidget {
  const EditorDemoApp({super.key});

  @override
  State<EditorDemoApp> createState() => _EditorDemoAppState();
}

final class _EditorDemoAppState extends State<EditorDemoApp> {
  late final MarkdownEditorController _controller = MarkdownEditorController(
    text: demoPresets.first.markdown,
  );
  DemoSettings _settings = const DemoSettings();
  EditorHostKind _host = EditorHostKind.foundation;
  var _document = 0;
  var _mode = MarkdownEditorMode.live;

  @override
  void dispose() {
    _controller.dispose();
    super.dispose();
  }

  void _loadDocument(int index) {
    setState(() {
      _document = index;
      _controller.text = demoPresets[index].markdown;
      _controller.mode = _mode;
    });
  }

  void _setMode(MarkdownEditorMode mode) {
    setState(() => _mode = mode);
    _controller.mode = mode;
  }

  void _onLink(String _) {}

  @override
  Widget build(BuildContext context) => Directionality(
    textDirection: TextDirection.ltr,
    child: DemoWorkspace(
      controller: _controller,
      settings: _settings,
      selectedDocument: _document,
      host: _host,
      mode: _mode,
      onDocumentChanged: _loadDocument,
      onSettingsChanged: (settings) => setState(() => _settings = settings),
      onHostChanged: (host) => setState(() => _host = host),
      onModeChanged: _setMode,
      onLinkTap: _onLink,
    ),
  );
}
3
likes
160
points
746
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

A source-preserving Flutter Markdown editor with raw, live, and read modes.

Homepage
Repository (GitLab)
View/report issues
Contributing

Topics

#markdown #editor #text-editor #flutter #widget

License

MIT (license)

Dependencies

flutter, native_adaptive_toolbox

More

Packages that depend on live_markdown_editor