WYSIWYG editor for Flutter with a rich set of supported formatting options. (WIP)

Overview

rich_editor

pub package pub points

WYSIWYG editor for Flutter with a rich set of supported formatting options.

Based on https://github.com/dankito/RichTextEditor, but for Flutter.

Features

  • Bold, Italic, Underline, Strike through, Subscript, Superscript
  • Heading 1 - 6, Text body, Preformatted, Block quote
  • Font (reads all system fonts) (Android only)
  • Font Size
  • Text Color
  • Text Background Color
  • Highlight text
  • Justify Left, Center, Right, Blockquote
  • Indent, Outdent
  • Undo, Redo
  • Unordered List (Bullets)
  • Ordered List (Numbers)
  • Insert local or remote Image
  • Insert Link
  • Insert Checkbox
  • Search
  • Icon indicators

📸 Screenshots

Usage

      // Insert widget into tree
      RichEditor(
        key: keyEditor,
        value: 'initial html here',
        // You can return a Link (maybe you need to upload the image to your
        // storage before displaying in the editor or you can also use base64
        getImageUrl: (image) {
          String link = 'https://avatars.githubusercontent.com/u/24323581?v=4';
          String base64 = base64Encode(image.readAsBytesSync());
          String base64String = 'data:image/png;base64, $base64';
          return base64String;
        },
      )

Get current HTML from editor

String? html = await keyEditor.currentState?.getHtml();
print(html);

Set Focus and Unfocus

await keyEditor.currentState?.focus();
await keyEditor.currentState?.unFocus();

Clear Editor content

await keyEditor.currentState?.clear();

License

Copyright 2021 JideGuru

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Comments
  • Keyboard not showing on ios v.0.0.4

    Keyboard not showing on ios v.0.0.4

    Hi, i'm unable to find any other people with this issue, but i am having trouble getting the editor to work properly on ios.

    The keyboard does not appear and I cannot type into the editor.

    flutter: WebView Message: {message: SyntaxError: Unexpected identifier 'font'. Expected ')' to end an argument list., messageLevel: 3} flutter: Unable to load asset: packages/rich_editor/assets/editor/interact.min.js.map

    Are there additional steps to configure this package on ios?

    I would love to try version .0.0.5, but i have another plugin(form_builder) that depends on a different version of the color picker.

    Thanks in advance

    opened by johnkreagan 1
  • issue: Unsupported operation: Platform._operatingSystem

    issue: Unsupported operation: Platform._operatingSystem

    A wonderful day for all the World, full of potential and new possibilities

    Issue: ^ Unsupported operation: Platform._operatingSystem

    Reason for the issue: If you use platform.isAndroid or platform.isIOS, it will throw an exception. Fix: use kIsWeb constant workaround:

    import 'package:flutter/foundation.dart' show kIsWeb;
    ...
    if (!kIsWeb && Platform.isAndroid) {
    

    I wish to all of Us, All the Best and an Amazing and Magical new Week :)

    opened by aaongr 0
  • [ImgBot] Optimize images

    [ImgBot] Optimize images

    Beep boop. Your images are optimized!

    Your image file size has been reduced by 32% 🎉

    Details

    | File | Before | After | Percent reduction | |:--|:--|:--|:--| | /example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png | 14.45kb | 9.69kb | 32.93% | | /res/1.png | 1,413.57kb | 965.38kb | 31.71% | | /example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png | 45.89kb | 31.58kb | 31.18% | | /example/web/favicon.png | 0.90kb | 0.64kb | 29.01% | | /example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png | 1.40kb | 1.00kb | 28.62% | | /example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png | 5.79kb | 4.27kb | 26.23% | | /example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png | 3.20kb | 2.60kb | 18.77% | | | | | | | Total : | 1,485.20kb | 1,015.16kb | 31.65% |


    Black Lives Matter | 💰 donate | 🎓 learn | ✍🏾 sign

    📝 docs | :octocat: repo | 🙋🏾 issues | 🏅 swag | 🏪 marketplace

    opened by imgbot[bot] 0
  • Restyle Editor settings

    Restyle Editor settings

    Automated style fixes for #2, created by Restyled.

    The following restylers made fixes:

    To incorporate these changes, merge this Pull Request into the original. We recommend using the Squash or Rebase strategies.

    NOTE: As work continues on the original Pull Request, this process will re-run and update (force-push) this Pull Request with updated style fixes as necessary. If the style is fixed manually at any point (i.e. this process finds no fixes to make), this Pull Request will be closed automatically.

    Sorry if this was unexpected. To disable it, see our documentation.

    opened by restyled-io[bot] 0
  • Restyle Editor settings

    Restyle Editor settings

    Automated style fixes for #2, created by Restyled.

    The following restylers made fixes:

    To incorporate these changes, merge this Pull Request into the original. We recommend using the Squash or Rebase strategies.

    NOTE: As work continues on the original Pull Request, this process will re-run and update (force-push) this Pull Request with updated style fixes as necessary. If the style is fixed manually at any point (i.e. this process finds no fixes to make), this Pull Request will be closed automatically.

    Sorry if this was unexpected. To disable it, see our documentation.

    opened by restyled-io[bot] 0
  • Restyle Editor settings

    Restyle Editor settings

    Automated style fixes for #2, created by Restyled.

    The following restylers made fixes:

    To incorporate these changes, merge this Pull Request into the original. We recommend using the Squash or Rebase strategies.

    NOTE: As work continues on the original Pull Request, this process will re-run and update (force-push) this Pull Request with updated style fixes as necessary. If the style is fixed manually at any point (i.e. this process finds no fixes to make), this Pull Request will be closed automatically.

    Sorry if this was unexpected. To disable it, see our documentation.

    opened by restyled-io[bot] 0
  • [ImgBot] Optimize images

    [ImgBot] Optimize images

    Beep boop. Your images are optimized!

    Your image file size has been reduced by 38% 🎉

    Details

    | File | Before | After | Percent reduction | |:--|:--|:--|:--| | /res/1.png | 127.55kb | 63.01kb | 50.60% | | /res/2.png | 288.03kb | 190.24kb | 33.95% | | /example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png | 14.45kb | 9.69kb | 32.93% | | /example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png | 45.89kb | 31.58kb | 31.18% | | /example/web/favicon.png | 0.90kb | 0.64kb | 29.01% | | /example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png | 1.40kb | 1.00kb | 28.62% | | /example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png | 5.79kb | 4.27kb | 26.23% | | /example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png | 3.20kb | 2.60kb | 18.77% | | | | | | | Total : | 487.21kb | 303.04kb | 37.80% |


    Black Lives Matter | 💰 donate | 🎓 learn | ✍🏾 sign

    📝 docs | :octocat: repo | 🙋🏾 issues | 🏅 swag | 🏪 marketplace

    opened by imgbot[bot] 0
  • Not working in iOS

    Not working in iOS

    Uncategorized (Xcode): Command CompileSwift failed with a nonzero exit code

    Swift Compiler Error (Xcode): Cannot call value of non-function type 'String?' /Users/ris-m1-mac/Desktop/fluttersdk/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_inappwebview-5.7.2+3/ios/Classes/MyCookieManager.swift:259:43

    Could not build the application for the simulator. Error launching application on iPad Pro (9.7-inch).

    opened by sunnyasr 0
  • Please help

    Please help

    1 last update please

    @pruthvi1698 Author pruthvi1698 commented 5 minutes ago Only this issue. Error: android:exported needs to be explicitly specified for element <activity#app.ruthumana.MainActivity>. Apps targeting Android 12 and higher are required to specify an explicit value for android:exported when the corresponding component has an intent filter defined

    @pruthvi1698 Author pruthvi1698 commented 5 minutes ago I have pushed the ios release. struck with android. please help

    opened by pruthvi1698 0
  • 异常

    异常

    java.lang.NullPointerException: Attempt to invoke virtual method 'android.view.inputmethod.InputConnection android.view.View.onCreateInputConnection(android.view.inputmethod.EditorInfo)' on a null object reference W/System.err(32191): at io.flutter.plugin.editing.TextInputPlugin.createInputConnection(TextInputPlugin.java:305) W/System.err(32191): at io.flutter.embedding.android.FlutterView.onCreateInputConnection(FlutterView.java:710) W/System.err(32191): at android.view.inputmethod.InputMethodManager.startInputInner(InputMethodManager.java:1855) W/System.err(32191): at android.view.inputmethod.InputMethodManager.restartInput(InputMethodManager.java:1768) W/System.err(32191): at org.chromium.content.browser.input.ImeAdapterImpl.r0(HwWebview-11.1.5.315.3337:4) W/System.err(32191): at org.chromium.content.browser.input.ImeAdapterImpl.updateState(HwWebview-11.1.5.315.3337:30) W/System.err(32191): at android.os.MessageQueue.nativePollOnce(Native Method) W/System.err(32191): at android.os.MessageQueue.next(MessageQueue.java:363) W/System.err(32191): at android.os.Looper.loop(Looper.java:176) W/System.err(32191): at android.app.ActivityThread.main(ActivityThread.java:8668) W/System.err(32191): at java.lang.reflect.Method.invoke(Native Method) W/System.err(32191): at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:513) W/System.err(32191): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1109) F/hwschromium-3337(32191): [FATAL:jni_android.cc(249)] Please include Java exception stack in crash report

    opened by Poker-J 0
Releases(0.0.4)
Owner
Festus Olusegun
Software Engineer
Festus Olusegun
Rich text editor for Flutter

A rich text editor for Flutter FlutterQuill is a rich text editor and a Quill component for Flutter. This library is a WYSIWYG editor built for the mo

X Code 1.7k Jan 4, 2023
Rich text editor for Flutter based on Delta format (Quill fork)

Visual Editor Visual Editor is a Rich Text editor for Flutter originally forked from Flutter Quill. The editor is built around the powerful Delta docu

Visual Space 190 Jan 7, 2023
DeerNote is a solution for cross-platform rich editor

#DeerNote is a solution for cross-platform rich editor ###DeerNote contains parts as follows: db: mongodb server: nodejs app: flutter launch mongdb se

null 3 Dec 6, 2022
Json editor - A json editor on flutter

Features Support add comment; Support show errors for invalid json text; Pretty

Chan Young 12 Nov 18, 2022
Leverages libphonenumber to allow for asynchronous and synchronous formatting of phone numbers in Flutter apps

Leverages libphonenumber to allow for asynchronous and synchronous formatting of phone numbers in Flutter apps. Includes a TextInputFormatter to allow real-time AsYouType formatting.

Bottlepay 43 Nov 2, 2022
"FlutterMoneyFormatter" is a Flutter extension to formatting various types of currencies according to the characteristics you like, without having to be tied to any localization.

FlutterMoneyFormatter FlutterMoneyFormatter is a Flutter extension to formatting various types of currencies according to the characteristics you like

Fadhly Permata 81 Jan 1, 2023
A package that exports functions for converting, formatting, and nicening of dates/times in Dart.

Instant A library for manipulating and formatting DateTimes in Dart. Dates and times have never been easier. | DateTime timezone manipulation | Easy f

Aditya Kishore 10 Jan 22, 2022
A Bitwarden flutter client 💙 (WIP)

FlutterWarden ( ?? WIP) A flutter client for Bitwarden. The app is not completed yet. Progress Login with email and password Two factor authentication

Venkatesh Prasad 10 Jul 22, 2022
Simple File Explorer made with Flutter(WIP)

FileX (WIP) A simple File Explorer(Still very buggy) made with Flutter. To download apk: Tap on the button below(it will take you to another page) Scr

Festus Olusegun 439 Dec 29, 2022
An audiobook downloader and player in flutter using librivox api (WIP)

Flutter AudioBooks An audiobook listener and downloader in flutter using librivox API (WIP). Why? I wanted to make a beautiful AudioBook app, free for

Damodar Lohani 137 Jan 5, 2023
Clash fronted client by Flutter (Linux supported) 🐱

FClash A Clash Proxy Fronted based on Clash Linux Supported Install For Arch/Manjaro users, using AUR yay -S fclash For Ubuntu/Debian users, download

Kingtous 96 Jan 2, 2023
An app for small and medium organizations (SME) manager, with NFC-tag, e-tag and QR code features supported.

BK LAB Manager - an app for group management 1. Getting Started An app for small and medium organizations (SME) manager, with NFC-tag, e-tag and QR co

Andrew Ng 9 Dec 11, 2022
WIP: generate easy localization key code

Generates translation key code for the easy localization package. Support for json and yaml formats.You can see examples in the assets/ folder. Gettin

null 3 Oct 24, 2022
Fluro is a Flutter routing library that adds flexible routing options like wildcards, named parameters and clear route definitions.

English | Português The brightest, hippest, coolest router for Flutter. Features Simple route navigation Function handlers (map to a function instead

Luke Pighetti 3.5k Jan 4, 2023
A carousel package in flutter with various configuration options

Flutter_Carosel A simple Carousel Widget with multiple configuration option. ... dependencies: ... flutter_multi_carousel: ^1.0.0 ... And install it

GeekyAnts 67 Oct 2, 2022
A Flutter application organizing access to information on University of Toronto Food Options.

UofT Foods Description A Flutter Mobile App designed to aid UofT Students and Staff easily find food options across all campuses. Features Campus Sele

Kyrel Jerome 2 Jan 8, 2021
A Flutter select form field widget. It shows a list of options in a dropdown menu.

select_form_field A Flutter select field widget. It shows a list of options in a dropdown menu. This widget extend TextField and has a similar behavio

m3uzz Soluções em TI 8 Sep 14, 2022
A UI library for easily adding audio waveforms to your apps, with several customization options

A UI library for easily adding audio waveforms to your apps, with several custom

RutvikTak 64 Dec 11, 2022
Tic Tac Toe game with single-player and multi-player options. Implemented minimax algorithm.

flutter_tic_tac_toe A new Flutter project. Getting Started This project is a starting point for a Flutter application. A few resources to get you star

null 0 Jan 1, 2022