Skip to content

Commit 29952bc

Browse files
committed
fix: add missing markdown converter for code block and divider
1 parent 64ee314 commit 29952bc

File tree

4 files changed

+19
-1
lines changed

4 files changed

+19
-1
lines changed

frontend/app_flowy/packages/appflowy_editor/lib/src/plugins/markdown/decoder/document_markdown_decoder.dart

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,8 @@ class DocumentMarkdownDecoder extends Converter<String, Document> {
8080
BuiltInAttributeKey.subtype: BuiltInAttributeKey.quote,
8181
},
8282
);
83+
} else if (RegExp(r'^-*').stringMatch(text) == text) {
84+
return Node(type: 'divider');
8385
}
8486

8587
if (text.isNotEmpty) {

frontend/app_flowy/packages/appflowy_editor/lib/src/plugins/markdown/encoder/document_markdown_encoder.dart

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import 'dart:convert';
22

33
import 'package:appflowy_editor/src/core/document/document.dart';
4+
import 'package:appflowy_editor/src/plugins/markdown/encoder/parser/divider_node_parser.dart';
45
import 'package:appflowy_editor/src/plugins/markdown/encoder/parser/image_node_parser.dart';
56
import 'package:appflowy_editor/src/plugins/markdown/encoder/parser/node_parser.dart';
67
import 'package:appflowy_editor/src/plugins/markdown/encoder/parser/text_node_parser.dart';
@@ -10,6 +11,7 @@ class DocumentMarkdownEncoder extends Converter<Document, String> {
1011
this.parsers = const [
1112
TextNodeParser(),
1213
ImageNodeParser(),
14+
DividerNodeParser(),
1315
],
1416
});
1517

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
import 'package:appflowy_editor/src/core/document/node.dart';
2+
import 'package:appflowy_editor/src/plugins/markdown/encoder/parser/node_parser.dart';
3+
4+
class DividerNodeParser extends NodeParser {
5+
const DividerNodeParser();
6+
7+
@override
8+
String get id => 'divider';
9+
10+
@override
11+
String transform(Node node) {
12+
return '---\n';
13+
}
14+
}

frontend/app_flowy/packages/appflowy_editor/lib/src/plugins/markdown/encoder/parser/text_node_parser.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ class TextNodeParser extends NodeParser {
4040
}
4141
} else if (subtype == 'quote') {
4242
result = '> $markdown';
43-
} else if (subtype == 'code-block') {
43+
} else if (subtype == 'code_block') {
4444
result = '```\n$markdown\n```';
4545
} else if (subtype == 'bulleted-list') {
4646
result = '* $markdown';

0 commit comments

Comments
 (0)