diff --git a/README.md b/README.md
index ca463e9e..e123d18e 100644
--- a/README.md
+++ b/README.md
@@ -1,29 +1,37 @@
-
-# FlutterQuill
-
-Rich text editor and a [Quill] component for [Flutter].
-
-https://pub.dev/packages/flutter_quill
-
-This library is a WYSIWYG editor built for the modern mobile platform only and web is not supported.
-For web development, [ReactQuill] is recommended to use for compatibility.
-
----
-
-
-
-
-
-
-One client and affiliated collaborator of **[FlutterQuill]** is Bullet Journal App: https://bulletjournal.us/home/index.html
-
-You can also join [Slack Group] for discussion.
-
-[Quill]: https://quilljs.com
-[Flutter]: https://github.com/flutter/flutter
-[FlutterQuill]: https://pub.dev/packages/flutter_quill
-[ReactQuill]: https://github.com/zenoamaro/react-quill
-[Slack Group]: https://join.slack.com/t/bulletjournal1024/shared_invite/zt-fys7t9hi-ITVU5PGDen1rNRyCjdcQ2g
+
+
+# FlutterQuill
+
+Rich text editor and a [Quill] component for [Flutter].
+
+https://pub.dev/packages/flutter_quill
+
+This library is a WYSIWYG editor built for the modern mobile platform only and web is under development.
+
+To run the app on web do the following:
+1) Change flutter channel to master using `flutter channel master`, followed by `flutter upgrade`.
+2) Enable web using `flutter config --enable-web` and restart the IDE.
+3) Upon successful execution of step 1 and 2 you should see `Chrome` as one of the devices which you run `flutter devices`.
+4) Run the app.
+
+For web development, [ReactQuill] is recommended to use for compatibility.
+
+---
+
+
+
+
+
+
+One client and affiliated collaborator of **[FlutterQuill]** is Bullet Journal App: https://bulletjournal.us/home/index.html
+
+You can also join [Slack Group] for discussion.
+
+[Quill]: https://quilljs.com
+[Flutter]: https://github.com/flutter/flutter
+[FlutterQuill]: https://pub.dev/packages/flutter_quill
+[ReactQuill]: https://github.com/zenoamaro/react-quill
+[Slack Group]: https://join.slack.com/t/bulletjournal1024/shared_invite/zt-fys7t9hi-ITVU5PGDen1rNRyCjdcQ2g
\ No newline at end of file
diff --git a/app/lib/pages/home_page.dart b/app/lib/pages/home_page.dart
index f251e7b8..3663543f 100644
--- a/app/lib/pages/home_page.dart
+++ b/app/lib/pages/home_page.dart
@@ -4,6 +4,7 @@ import 'dart:io';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
+import 'package:flutter_quill/models/documents/attribute.dart';
import 'package:flutter_quill/models/documents/document.dart';
import 'package:flutter_quill/widgets/controller.dart';
import 'package:flutter_quill/widgets/default_styles.dart';
@@ -65,7 +66,25 @@ class _HomePageState extends State {
color: Colors.grey.shade800,
child: _buildMenuBar(context),
),
- body: _buildWelcomeEditor(context),
+ body: RawKeyboardListener(
+ focusNode: FocusNode(),
+ onKey: (RawKeyEvent event) {
+ if (event.data.isControlPressed && event.character == 'b') {
+ if (_controller
+ .getSelectionStyle()
+ .attributes
+ .keys
+ .contains("bold")) {
+ _controller
+ .formatSelection(Attribute.clone(Attribute.bold, null));
+ } else {
+ _controller.formatSelection(Attribute.bold);
+ print("not bold");
+ }
+ }
+ },
+ child: _buildWelcomeEditor(context),
+ ),
);
}
diff --git a/lib/widgets/editor.dart b/lib/widgets/editor.dart
index b02f97eb..dd9784d2 100644
--- a/lib/widgets/editor.dart
+++ b/lib/widgets/editor.dart
@@ -76,12 +76,15 @@ abstract class RenderAbstractEditor {
Widget _defaultEmbedBuilder(BuildContext context, leaf.Embed node) {
switch (node.value.type) {
case 'image':
- final style = QuillStyles.getStyles(context, true);
- return Divider(
- height: style.paragraph.style.fontSize * style.paragraph.style.height,
- thickness: 2,
- color: Colors.grey.shade200,
- );
+ if (kIsWeb) {
+ return SizedBox.shrink();
+ } else {
+ String imageUrl = node.value.data;
+ return imageUrl.startsWith('http')
+ ? Image.network(imageUrl)
+ : Image.asset(imageUrl);
+ }
+ break;
default:
throw UnimplementedError(
diff --git a/lib/widgets/toolbar.dart b/lib/widgets/toolbar.dart
index 1f54bd79..69de725a 100644
--- a/lib/widgets/toolbar.dart
+++ b/lib/widgets/toolbar.dart
@@ -1,5 +1,6 @@
import 'dart:io';
+import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:flutter_colorpicker/flutter_colorpicker.dart';
import 'package:flutter_quill/models/documents/attribute.dart';
@@ -446,13 +447,15 @@ Widget _selectHeadingStyleButtonBuilder(
height: iconSize * 1.77,
fillColor: Theme.of(context).canvasColor,
child: Text(
- _valueToText[value.key == "header"
- ? Attribute.header
- : (value.key == "h1")
- ? Attribute.h1
- : (value.key == "h2")
- ? Attribute.h2
- : Attribute.h3],
+ !kIsWeb
+ ? _valueToText[value]
+ : _valueToText[value.key == "header"
+ ? Attribute.header
+ : (value.key == "h1")
+ ? Attribute.h1
+ : (value.key == "h2")
+ ? Attribute.h2
+ : Attribute.h3],
style: TextStyle(fontSize: 13, fontWeight: FontWeight.w600),
),
initialValue: value,