✨ Docsy

pub package likes popularity points

A modern WYSIWYG Rich Text Editor for Flutter.
Write, edit, and render rich text with the same look as the final output β€”
What You See Is What You Get (WYSIWYG).

Try it Live


πŸš€ Features

  • ✍️ Full WYSIWYG editing experience
  • Inline formatting: bold, italic, underline, code, links
  • Block formatting: paragraphs, headings, quotes, dividers
  • πŸ“‹ Undo/redo with history stack
  • πŸ”— Link insertion & removal
  • 🌐 JSON import/export (canonical format)
  • πŸ“„ Markdown & HTML conversion (planned)
  • πŸ–₯️ Works on mobile, web, and desktop

πŸ“Έ Screenshots

Editing Mode Readonly Mode
Docsy editing Docsy readonly

πŸ“¦ Installation

Add this to your pubspec.yaml:

dependencies:
  docsy: ^0.1.0

Then run:

flutter pub get

πŸ› οΈ Usage

A minimal example:

import 'package:flutter/material.dart';
import 'package:docsy/docsy.dart';

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

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    final controller = EditorController();

    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(title: const Text('Docsy Demo')),
        body: RichTextEditor(controller: controller),
        floatingActionButton: FloatingActionButton(
          onPressed: controller.insertParagraphAtEnd,
          child: const Icon(Icons.add),
        ),
      ),
    );
  }
}

πŸ“– Example

For a complete demo with toolbar, editing/preview toggle, and persistence,
see the example folder.


πŸ—ΊοΈ Roadmap

  • Markdown export/import
  • HTML export/import
  • Code block syntax highlighting
  • Collaborative editing support
  • Custom embeds (images, media, widgets)

❀️ Contributing

Contributions are welcome!
Open an issue or submit a PR to help improve Docsy.


πŸ“œ License

Licensed under the MIT License.
See LICENSE for details.

Libraries

docsy