Open source, configurable, extensible text editor and document renderer for Flutter.
Super Editor works with any backend. Plug yours in and go!
Super Editor was initiated by Superlist and is implemented and maintained by the Flutter Bounty Hunters, Superlist, and the contributors.
A Note on Releases (June, 2024):
We've been busy at work on core editor improvements like undo/redo, a stable editor pipeline, and useful editor reactions. These APIs have evolved a lot, so we haven't cut a standard release in a long time. We're still evolving those APIs right now.
Rest assured, Super Editor and the other projects in this repo are under regular development. We're still here and working hard.
We're now starting to publish developer releases of Super Editor so that the community can see what we've been working on.
As a reminder, your project doesn't need to use Pub to use Super Editor. You can depend directly on this GitHub repository to keep up with the latest changes. Please check the section below about our Git branches.
A Note on Branches:
Do you use Flutter's stable branch? Be sure to checkout super_editor
's stable branch, for compatibility.
Do you use Flutter's master branch? Be sure to checkout super_editor
's main branch, for compabitility.
Please see the SuperEditor README about how to use the packages, or run the sample editor.
A web demo is accessible at https://superlist.com/SuperEditor.
You might notice that this is a mono-repo, which includes multiple projects. That's because we're not just building an editor. We're building a document editing toolkit. In fact, we're revolutionizing all text layout and editing with Flutter! Check out some of our supporting projects. If you have compilation errors when using the GitHub version of super_editor, try overriding dependencies for the other packages in this mono-repo, e.g., super_editor_markdown, super_text_layout, and attributed_text. This project often makes changes to multiple packages within the mono-repo, which requires that you use the latest main or stable version of every package.
You can override your dependencies as follows:
dependency_overrides:
super_editor:
git:
url: https://github.com/superlistapp/super_editor
path: super_editor
ref: stable # or "main"
super_editor_markdown:
git:
url: https://github.com/superlistapp/super_editor
path: super_editor_markdown
ref: stable
super_text_layout:
git:
url: https://github.com/superlistapp/super_editor
path: super_text_layout
ref: stable
attributed_text:
git:
url: https://github.com/superlistapp/super_editor
path: attributed_text
ref: stable