Browse Source

Merge branch 'AppFlowy-IO:main' into main

Naughtz 3 năm trước cách đây
mục cha
commit
a8b42cbc95

+ 1 - 1
doc/BUILD_ON_WINDOWS.md

@@ -13,7 +13,7 @@ git clone https://github.com/AppFlowy-IO/appflowy.git
 Note:
 * Both Windows cmd and powershell can be used for running commands
 * Following steps are verified on
-    - [x] Windows 10 X86_64
+    - [ ] Windows 10 X86_64
     - [ ] Windows 10 arm64
     - [ ] Windows 11 X86_64
     - [ ] Windows 11 arm64

+ 2 - 2
frontend/app_flowy/assets/translations/en.json

@@ -1,5 +1,5 @@
 {
-  "appName": "Appflowy",
+  "appName": "AppFlowy",
   "defaultUsername": "Me",
   "welcomeText": "Welcome to @:appName",
   "githubStarText": "Star on GitHub",
@@ -69,7 +69,7 @@
   },
   "menuAppHeader": {
     "addPageTooltip": "Quickly add a page inside",
-    "defaultNewPageName": "Untitles",
+    "defaultNewPageName": "Untitled",
     "renameDialog": "Rename"
   },
   "toolbar": {

+ 1 - 1
frontend/app_flowy/lib/generated/codegen_loader.g.dart

@@ -85,7 +85,7 @@ class CodegenLoader extends AssetLoader{
   },
   "menuAppHeader": {
     "addPageTooltip": "Quickly add a page inside",
-    "defaultNewPageName": "Untitles",
+    "defaultNewPageName": "Untitled",
     "renameDialog": "Rename"
   },
   "toolbar": {

+ 15 - 6
frontend/app_flowy/lib/workspace/infrastructure/markdown/src/delta_markdown_encoder.dart

@@ -65,8 +65,7 @@ class DeltaMarkdownEncoder extends Converter<String, String> {
     // First close any current styles if needed
     final markedForRemoval = <Attribute>[];
     // Close the styles in reverse order, e.g. **_ for _**Test**_.
-    for (final value
-        in currentInlineStyle.attributes.values.toList().reversed) {
+    for (final value in currentInlineStyle.attributes.values.toList().reversed) {
       // TODO(tillf): Is block correct?
       if (value.scope == AttributeScope.BLOCK) {
         continue;
@@ -123,10 +122,8 @@ class DeltaMarkdownEncoder extends Converter<String, String> {
         // Close any open inline styles.
         _handleInline(lineBuffer, '', null);
 
-        final lineBlock = Style.fromJson(attributes)
-            .attributes
-            .values
-            .singleWhereOrNull((a) => a.scope == AttributeScope.BLOCK);
+        final lineBlock =
+            Style.fromJson(attributes).attributes.values.singleWhereOrNull((a) => a.scope == AttributeScope.BLOCK);
 
         if (lineBlock == currentBlockStyle) {
           currentBlockLines.add(lineBuffer.toString());
@@ -220,6 +217,16 @@ class DeltaMarkdownEncoder extends Converter<String, String> {
       buffer.write(!close ? '[' : '](${attribute.value})');
     } else if (attribute == Attribute.codeBlock) {
       buffer.write(!close ? '```\n' : '\n```');
+    } else if (attribute.key == Attribute.background.key) {
+      buffer.write(!close ? '<mark>' : '</mark>');
+    } else if (attribute.key == Attribute.underline.key) {
+      buffer.write(!close ? '<u>' : '</u>');
+    } else if (attribute.key == Attribute.codeBlock.key) {
+      buffer.write(!close ? '```\n' : '\n```');
+    } else if (attribute.key == Attribute.inlineCode.key) {
+      buffer.write(!close ? '`' : '`');
+    } else if (attribute.key == Attribute.strikeThrough.key) {
+      buffer.write(!close ? '~~' : '~~');
     } else {
       throw ArgumentError('Cannot handle $attribute');
     }
@@ -246,6 +253,8 @@ class DeltaMarkdownEncoder extends Converter<String, String> {
       buffer.write('## ');
     } else if (block.key == Attribute.h3.key && block.value == 3) {
       buffer.write('### ');
+    } else if (block.key == Attribute.list.key) {
+      buffer.write('* ');
     } else {
       throw ArgumentError('Cannot handle block $block');
     }

+ 6 - 6
frontend/app_flowy/lib/workspace/presentation/stack_page/doc/widget/toolbar/color_picker.dart

@@ -128,10 +128,10 @@ class _FlowyColorButtonState extends State<FlowyColorButton> {
 
     final style = widget.controller.getSelectionStyle();
     final values = style.values.where((v) => v.key == Attribute.background.key).map((v) => v.value);
-    int initailColor = 0;
+    int initialColor = 0;
     if (values.isNotEmpty) {
       assert(values.length == 1);
-      initailColor = stringToHex(values.first);
+      initialColor = stringToHex(values.first);
     }
 
     StyledDialog(
@@ -145,7 +145,7 @@ class _FlowyColorButtonState extends State<FlowyColorButton> {
               _changeColor(context, color);
             }
           },
-          initailColor: initailColor,
+          initialColor: initialColor,
         ),
       ),
     ).show(context);
@@ -168,8 +168,8 @@ class FlowyColorPicker extends StatefulWidget {
     0xffdefff1,
   ];
   final Function(Color?) onColorChanged;
-  final int initailColor;
-  FlowyColorPicker({Key? key, required this.onColorChanged, this.initailColor = 0}) : super(key: key);
+  final int initialColor;
+  FlowyColorPicker({Key? key, required this.onColorChanged, this.initialColor = 0}) : super(key: key);
 
   @override
   State<FlowyColorPicker> createState() => _FlowyColorPickerState();
@@ -207,7 +207,7 @@ class _FlowyColorPickerState extends State<FlowyColorPicker> {
             delegate: SliverChildBuilderDelegate(
               (BuildContext context, int index) {
                 if (widget.colors.length > index) {
-                  final isSelected = widget.colors[index] == widget.initailColor;
+                  final isSelected = widget.colors[index] == widget.initialColor;
                   return ColorItem(
                     color: Color(widget.colors[index]),
                     onPressed: widget.onColorChanged,

+ 1 - 1
shared-lib/flowy-derive/src/proto_buf/serialize.rs

@@ -109,7 +109,7 @@ fn gen_token_stream(ctxt: &Ctxt, member: &syn::Member, ty: &syn::Type, is_option
     }
 }
 
-// e.g. pub cells: Vec<CellData>, the memeber will be cells, ty would be Vec
+// e.g. pub cells: Vec<CellData>, the member will be cells, ty would be Vec
 fn token_stream_for_vec(ctxt: &Ctxt, member: &syn::Member, ty: &syn::Type) -> Option<TokenStream> {
     let ty_info = parse_ty(ctxt, ty)?;
     match ident_category(ty_info.ident) {