Fleather
Soft and gentle rich text editing for Flutter applications based on Zefyr. It uses a document model named Parchment based on Notus.
👉 Live demo here.
Features
- Works on Android, iOS, Web, macOS, Linux and Windows
- Inline attributes like bold, italic,
strikethroughand etc. - Line attributes like direction, alignment, heading, number and bullet list and etc.
- Block attributes like code, quote and etc.
- Supports inline and block embeds
- Markdown-inspired semantics
- Supports markdown shortcuts
- Using Quill.js Delta as underlying data format by Parchment, Fleather is ready for collaborative editing using OT (Not provided as a built-in functionality)
Full documentation can be found here.
Get started
Add Fleather to your dependencies.
dependencies:
flutter:
sdk: flutter
fleather: ^1.19.0
Usage
For a complete working project using Fleather, check our example.
- Create a
FleatherController
document = ParchmentDocument.fromJson(json);
controller = FleatherController(document);
- Add
FleatherEditor
orFleatherField
with aFleatherToolbar
to your widgets.
Column(
children: [
FleatherToolbar.basic(controller: _controller!),
Expanded(
child: FleatherEditor(controller: controller),
),
//or
FleatherField(controller: controller)
],
),
Migration
For migration guides check out MIGRATION.md.
Credits
- Zefyr contributors
- Mohammadreza Ziadzadeh for banner
Libraries
- fleather
- Fleather widgets and document model.
- l10n/fleather_localizations.g
- l10n/fleather_localizations_en.g
- l10n/fleather_localizations_fa.g
- l10n/fleather_localizations_fr.g
- l10n/l10n
- l10n/utils
- util
- Utility functions for Fleather.