@dou-ui/editor 0.0.0-stage → 0.1.0-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +10 -2
- package/dist/catalog.js +18 -0
- package/dist/catalog.js.map +1 -0
- package/dist/code/code-editor-block.js +6 -0
- package/dist/code/code-editor-block.js.map +1 -0
- package/dist/code/code-editor-block.vue_vue_type_script_setup_true_lang.js +116 -0
- package/dist/code/code-editor-block.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/code/index.js +69 -0
- package/dist/code/index.js.map +1 -0
- package/dist/code/languages.js +51 -0
- package/dist/code/languages.js.map +1 -0
- package/dist/code/view.js +255 -0
- package/dist/code/view.js.map +1 -0
- package/dist/collaboration/binding.js +381 -0
- package/dist/collaboration/binding.js.map +1 -0
- package/dist/collaboration/cursors.js +150 -0
- package/dist/collaboration/cursors.js.map +1 -0
- package/dist/collaboration/index.js +108 -0
- package/dist/collaboration/index.js.map +1 -0
- package/dist/collaboration/order.js +88 -0
- package/dist/collaboration/order.js.map +1 -0
- package/dist/collaboration/table.js +234 -0
- package/dist/collaboration/table.js.map +1 -0
- package/dist/collaboration/text.js +91 -0
- package/dist/collaboration/text.js.map +1 -0
- package/dist/components/block-handle.js +6 -0
- package/dist/components/block-handle.js.map +1 -0
- package/dist/components/block-handle.vue_vue_type_script_setup_true_lang.js +474 -0
- package/dist/components/block-handle.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/bubble-toolbar.js +6 -0
- package/dist/components/bubble-toolbar.js.map +1 -0
- package/dist/components/bubble-toolbar.vue_vue_type_script_setup_true_lang.js +381 -0
- package/dist/components/bubble-toolbar.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/comment-button.js +6 -0
- package/dist/components/comment-button.js.map +1 -0
- package/dist/components/comment-button.vue_vue_type_script_setup_true_lang.js +83 -0
- package/dist/components/comment-button.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/comment-card.js +6 -0
- package/dist/components/comment-card.js.map +1 -0
- package/dist/components/comment-card.vue_vue_type_script_setup_true_lang.js +104 -0
- package/dist/components/comment-card.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/menu-escape.js +25 -0
- package/dist/components/menu-escape.js.map +1 -0
- package/dist/components/search-bar.js +6 -0
- package/dist/components/search-bar.js.map +1 -0
- package/dist/components/search-bar.vue_vue_type_script_setup_true_lang.js +192 -0
- package/dist/components/search-bar.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/slash-menu.js +6 -0
- package/dist/components/slash-menu.js.map +1 -0
- package/dist/components/slash-menu.vue_vue_type_script_setup_true_lang.js +164 -0
- package/dist/components/slash-menu.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/core/align.js +94 -0
- package/dist/core/align.js.map +1 -0
- package/dist/core/block-selection.js +155 -0
- package/dist/core/block-selection.js.map +1 -0
- package/dist/core/blocks.js +132 -0
- package/dist/core/blocks.js.map +1 -0
- package/dist/core/changes.js +85 -0
- package/dist/core/changes.js.map +1 -0
- package/dist/core/colors.js +16 -0
- package/dist/core/colors.js.map +1 -0
- package/dist/core/commands.js +379 -0
- package/dist/core/commands.js.map +1 -0
- package/dist/core/comments.js +186 -0
- package/dist/core/comments.js.map +1 -0
- package/dist/core/compare.js +106 -0
- package/dist/core/compare.js.map +1 -0
- package/dist/core/convert.js +28 -0
- package/dist/core/convert.js.map +1 -0
- package/dist/core/diff.js +141 -0
- package/dist/core/diff.js.map +1 -0
- package/dist/core/editor.js +138 -0
- package/dist/core/editor.js.map +1 -0
- package/dist/core/extension.js +99 -0
- package/dist/core/extension.js.map +1 -0
- package/dist/core/file-drop.js +56 -0
- package/dist/core/file-drop.js.map +1 -0
- package/dist/core/highlight.js +120 -0
- package/dist/core/highlight.js.map +1 -0
- package/dist/core/input-rules.js +61 -0
- package/dist/core/input-rules.js.map +1 -0
- package/dist/core/keymap.js +38 -0
- package/dist/core/keymap.js.map +1 -0
- package/dist/core/model.js +196 -0
- package/dist/core/model.js.map +1 -0
- package/dist/core/output.js +263 -0
- package/dist/core/output.js.map +1 -0
- package/dist/core/plugins.js +102 -0
- package/dist/core/plugins.js.map +1 -0
- package/dist/core/prepare.js +102 -0
- package/dist/core/prepare.js.map +1 -0
- package/dist/core/schema.js +158 -0
- package/dist/core/schema.js.map +1 -0
- package/dist/core/search.js +197 -0
- package/dist/core/search.js.map +1 -0
- package/dist/core/selection.js +16 -0
- package/dist/core/selection.js.map +1 -0
- package/dist/core/slash.js +83 -0
- package/dist/core/slash.js.map +1 -0
- package/dist/core/transaction.js +311 -0
- package/dist/core/transaction.js.map +1 -0
- package/dist/define-block.js +177 -0
- package/dist/define-block.js.map +1 -0
- package/dist/document.js +157 -0
- package/dist/document.js.map +1 -0
- package/dist/dom.js +48 -0
- package/dist/dom.js.map +1 -0
- package/dist/editor.js +33 -0
- package/dist/editor.js.map +1 -0
- package/dist/editor.vue_vue_type_script_setup_true_lang.js +564 -0
- package/dist/editor.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/editor2.js +6 -0
- package/dist/editor2.js.map +1 -0
- package/dist/extensions/align/align-menu.js +6 -0
- package/dist/extensions/align/align-menu.js.map +1 -0
- package/dist/extensions/align/align-menu.vue_vue_type_script_setup_true_lang.js +82 -0
- package/dist/extensions/align/align-menu.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/extensions/align/align-sub.js +6 -0
- package/dist/extensions/align/align-sub.js.map +1 -0
- package/dist/extensions/align/align-sub.vue_vue_type_script_setup_true_lang.js +57 -0
- package/dist/extensions/align/align-sub.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/extensions/align/commands.js +40 -0
- package/dist/extensions/align/commands.js.map +1 -0
- package/dist/extensions/align/index.js +27 -0
- package/dist/extensions/align/index.js.map +1 -0
- package/dist/extensions/attachment/attachment-block.js +6 -0
- package/dist/extensions/attachment/attachment-block.js.map +1 -0
- package/dist/extensions/attachment/attachment-block.vue_vue_type_script_setup_true_lang.js +119 -0
- package/dist/extensions/attachment/attachment-block.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/extensions/attachment/files.js +66 -0
- package/dist/extensions/attachment/files.js.map +1 -0
- package/dist/extensions/attachment/index.js +132 -0
- package/dist/extensions/attachment/index.js.map +1 -0
- package/dist/extensions/blocks.js +170 -0
- package/dist/extensions/blocks.js.map +1 -0
- package/dist/extensions/callout/callout-block.js +6 -0
- package/dist/extensions/callout/callout-block.js.map +1 -0
- package/dist/extensions/callout/callout-block.vue_vue_type_script_setup_true_lang.js +71 -0
- package/dist/extensions/callout/callout-block.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/extensions/callout/html.js +61 -0
- package/dist/extensions/callout/html.js.map +1 -0
- package/dist/extensions/callout/index.js +52 -0
- package/dist/extensions/callout/index.js.map +1 -0
- package/dist/extensions/callout/tones.js +12 -0
- package/dist/extensions/callout/tones.js.map +1 -0
- package/dist/extensions/code-block/code-block-view.js +6 -0
- package/dist/extensions/code-block/code-block-view.js.map +1 -0
- package/dist/extensions/code-block/code-block-view.vue_vue_type_script_setup_true_lang.js +87 -0
- package/dist/extensions/code-block/code-block-view.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/extensions/code-block/index.js +98 -0
- package/dist/extensions/code-block/index.js.map +1 -0
- package/dist/extensions/code-block/languages.js +116 -0
- package/dist/extensions/code-block/languages.js.map +1 -0
- package/dist/extensions/colors/color-menu.js +6 -0
- package/dist/extensions/colors/color-menu.js.map +1 -0
- package/dist/extensions/colors/color-menu.vue_vue_type_script_setup_true_lang.js +113 -0
- package/dist/extensions/colors/color-menu.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/extensions/colors/index.js +49 -0
- package/dist/extensions/colors/index.js.map +1 -0
- package/dist/extensions/colors/palette.js +26 -0
- package/dist/extensions/colors/palette.js.map +1 -0
- package/dist/extensions/editor-kit.js +35 -0
- package/dist/extensions/editor-kit.js.map +1 -0
- package/dist/extensions/embed/embed-block.js +6 -0
- package/dist/extensions/embed/embed-block.js.map +1 -0
- package/dist/extensions/embed/embed-block.vue_vue_type_script_setup_true_lang.js +210 -0
- package/dist/extensions/embed/embed-block.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/extensions/embed/index.js +118 -0
- package/dist/extensions/embed/index.js.map +1 -0
- package/dist/extensions/embed/targets.js +79 -0
- package/dist/extensions/embed/targets.js.map +1 -0
- package/dist/extensions/formatting.js +153 -0
- package/dist/extensions/formatting.js.map +1 -0
- package/dist/extensions/image/image-block.js +6 -0
- package/dist/extensions/image/image-block.js.map +1 -0
- package/dist/extensions/image/image-block.vue_vue_type_script_setup_true_lang.js +206 -0
- package/dist/extensions/image/image-block.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/extensions/image/index.js +125 -0
- package/dist/extensions/image/index.js.map +1 -0
- package/dist/extensions/image/uploads.js +96 -0
- package/dist/extensions/image/uploads.js.map +1 -0
- package/dist/extensions/list-html.js +58 -0
- package/dist/extensions/list-html.js.map +1 -0
- package/dist/extensions/lists.js +182 -0
- package/dist/extensions/lists.js.map +1 -0
- package/dist/extensions/mention/index.js +56 -0
- package/dist/extensions/mention/index.js.map +1 -0
- package/dist/extensions/mention/mention-menu.js +6 -0
- package/dist/extensions/mention/mention-menu.js.map +1 -0
- package/dist/extensions/mention/mention-menu.vue_vue_type_script_setup_true_lang.js +132 -0
- package/dist/extensions/mention/mention-menu.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/extensions/mention/state.js +113 -0
- package/dist/extensions/mention/state.js.map +1 -0
- package/dist/extensions/table/commands.js +356 -0
- package/dist/extensions/table/commands.js.map +1 -0
- package/dist/extensions/table/html.js +134 -0
- package/dist/extensions/table/html.js.map +1 -0
- package/dist/extensions/table/index.js +56 -0
- package/dist/extensions/table/index.js.map +1 -0
- package/dist/extensions/table/plugin.js +81 -0
- package/dist/extensions/table/plugin.js.map +1 -0
- package/dist/extensions/table/schema.js +258 -0
- package/dist/extensions/table/schema.js.map +1 -0
- package/dist/extensions/table/table-controls.js +6 -0
- package/dist/extensions/table/table-controls.js.map +1 -0
- package/dist/extensions/table/table-controls.vue_vue_type_script_setup_true_lang.js +698 -0
- package/dist/extensions/table/table-controls.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/extensions/table/view.js +19 -0
- package/dist/extensions/table/view.js.map +1 -0
- package/dist/extensions/toggle/index.js +87 -0
- package/dist/extensions/toggle/index.js.map +1 -0
- package/dist/extensions/toggle/state.js +120 -0
- package/dist/extensions/toggle/state.js.map +1 -0
- package/dist/extensions/toggle/toggle-block.js +6 -0
- package/dist/extensions/toggle/toggle-block.js.map +1 -0
- package/dist/extensions/toggle/toggle-block.vue_vue_type_script_setup_true_lang.js +42 -0
- package/dist/extensions/toggle/toggle-block.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/index.js +49 -0
- package/dist/index.js.map +1 -0
- package/dist/locale.js +522 -0
- package/dist/locale.js.map +1 -0
- package/dist/markdown/index.js +24 -0
- package/dist/markdown/index.js.map +1 -0
- package/dist/style.css +1 -0
- package/dist/style.d.ts +1 -0
- package/dist/style.js +8 -0
- package/dist/types/catalog.d.ts +8 -0
- package/dist/types/code/code-editor-block.vue.d.ts +17 -0
- package/dist/types/code/index.d.ts +18 -0
- package/dist/types/code/languages.d.ts +7 -0
- package/dist/types/code/types.d.ts +37 -0
- package/dist/types/code/view.d.ts +12 -0
- package/dist/types/collaboration/binding.d.ts +32 -0
- package/dist/types/collaboration/cursors.d.ts +26 -0
- package/dist/types/collaboration/index.d.ts +47 -0
- package/dist/types/collaboration/order.d.ts +20 -0
- package/dist/types/collaboration/table.d.ts +25 -0
- package/dist/types/collaboration/text.d.ts +9 -0
- package/dist/types/components/block-handle.vue.d.ts +3 -0
- package/dist/types/components/bubble-toolbar.vue.d.ts +7 -0
- package/dist/types/components/comment-button.vue.d.ts +3 -0
- package/dist/types/components/comment-card.vue.d.ts +3 -0
- package/dist/types/components/menu-escape.d.ts +7 -0
- package/dist/types/components/search-bar.vue.d.ts +22 -0
- package/dist/types/components/slash-menu.vue.d.ts +11 -0
- package/dist/types/core/align.d.ts +16 -0
- package/dist/types/core/block-selection.d.ts +22 -0
- package/dist/types/core/blocks.d.ts +52 -0
- package/dist/types/core/changes.d.ts +14 -0
- package/dist/types/core/colors.d.ts +4 -0
- package/dist/types/core/commands.d.ts +61 -0
- package/dist/types/core/comments.d.ts +44 -0
- package/dist/types/core/compare.d.ts +10 -0
- package/dist/types/core/convert.d.ts +12 -0
- package/dist/types/core/diff.d.ts +49 -0
- package/dist/types/core/editor.d.ts +64 -0
- package/dist/types/core/extension.d.ts +167 -0
- package/dist/types/core/file-drop.d.ts +19 -0
- package/dist/types/core/highlight.d.ts +32 -0
- package/dist/types/core/input-rules.d.ts +21 -0
- package/dist/types/core/keymap.d.ts +8 -0
- package/dist/types/core/model.d.ts +158 -0
- package/dist/types/core/output.d.ts +64 -0
- package/dist/types/core/plugins.d.ts +24 -0
- package/dist/types/core/prepare.d.ts +23 -0
- package/dist/types/core/schema.d.ts +38 -0
- package/dist/types/core/search.d.ts +83 -0
- package/dist/types/core/selection.d.ts +8 -0
- package/dist/types/core/slash.d.ts +21 -0
- package/dist/types/core/transaction.d.ts +97 -0
- package/dist/types/define-block.d.ts +66 -0
- package/dist/types/document.d.ts +46 -0
- package/dist/types/dom.d.ts +17 -0
- package/dist/types/editor.d.ts +252 -0
- package/dist/types/editor.vue.d.ts +210 -0
- package/dist/types/extensions/align/align-menu.vue.d.ts +3 -0
- package/dist/types/extensions/align/align-sub.vue.d.ts +7 -0
- package/dist/types/extensions/align/commands.d.ts +13 -0
- package/dist/types/extensions/align/index.d.ts +7 -0
- package/dist/types/extensions/attachment/attachment-block.vue.d.ts +17 -0
- package/dist/types/extensions/attachment/files.d.ts +6 -0
- package/dist/types/extensions/attachment/index.d.ts +20 -0
- package/dist/types/extensions/blocks.d.ts +8 -0
- package/dist/types/extensions/callout/callout-block.vue.d.ts +14 -0
- package/dist/types/extensions/callout/html.d.ts +4 -0
- package/dist/types/extensions/callout/index.d.ts +3 -0
- package/dist/types/extensions/callout/tones.d.ts +8 -0
- package/dist/types/extensions/code-block/code-block-view.vue.d.ts +16 -0
- package/dist/types/extensions/code-block/index.d.ts +19 -0
- package/dist/types/extensions/code-block/languages.d.ts +9 -0
- package/dist/types/extensions/colors/color-menu.vue.d.ts +3 -0
- package/dist/types/extensions/colors/index.d.ts +7 -0
- package/dist/types/extensions/colors/palette.d.ts +7 -0
- package/dist/types/extensions/editor-kit.d.ts +37 -0
- package/dist/types/extensions/embed/embed-block.vue.d.ts +16 -0
- package/dist/types/extensions/embed/index.d.ts +18 -0
- package/dist/types/extensions/embed/targets.d.ts +32 -0
- package/dist/types/extensions/formatting.d.ts +8 -0
- package/dist/types/extensions/image/image-block.vue.d.ts +16 -0
- package/dist/types/extensions/image/index.d.ts +16 -0
- package/dist/types/extensions/image/uploads.d.ts +35 -0
- package/dist/types/extensions/list-html.d.ts +11 -0
- package/dist/types/extensions/lists.d.ts +6 -0
- package/dist/types/extensions/mention/index.d.ts +11 -0
- package/dist/types/extensions/mention/mention-menu.vue.d.ts +7 -0
- package/dist/types/extensions/mention/state.d.ts +28 -0
- package/dist/types/extensions/table/commands.d.ts +69 -0
- package/dist/types/extensions/table/html.d.ts +4 -0
- package/dist/types/extensions/table/index.d.ts +8 -0
- package/dist/types/extensions/table/plugin.d.ts +4 -0
- package/dist/types/extensions/table/schema.d.ts +23 -0
- package/dist/types/extensions/table/table-controls.vue.d.ts +3 -0
- package/dist/types/extensions/table/view.d.ts +13 -0
- package/dist/types/extensions/toggle/index.d.ts +7 -0
- package/dist/types/extensions/toggle/state.d.ts +17 -0
- package/dist/types/extensions/toggle/toggle-block.vue.d.ts +14 -0
- package/dist/types/index.d.ts +266 -0
- package/dist/types/locale.d.ts +195 -0
- package/dist/types/markdown/index.d.ts +14 -0
- package/dist/types/use-comments.d.ts +17 -0
- package/dist/use-comments.js +141 -0
- package/dist/use-comments.js.map +1 -0
- package/package.json +98 -4
package/dist/locale.js
ADDED
|
@@ -0,0 +1,522 @@
|
|
|
1
|
+
import { useLocale } from "dou-ui";
|
|
2
|
+
import { computed, toValue } from "vue";
|
|
3
|
+
// src/locale.ts
|
|
4
|
+
var zhCN = {
|
|
5
|
+
placeholder: "输入 / 插入内容",
|
|
6
|
+
emptyPlaceholder: "开始写点什么,或输入 / 插入内容",
|
|
7
|
+
headingPlaceholder: "标题",
|
|
8
|
+
types: {
|
|
9
|
+
paragraph: "正文",
|
|
10
|
+
heading1: "一级标题",
|
|
11
|
+
heading2: "二级标题",
|
|
12
|
+
heading3: "三级标题",
|
|
13
|
+
bulletItem: "无序列表",
|
|
14
|
+
numberedItem: "有序列表",
|
|
15
|
+
checkItem: "待办事项",
|
|
16
|
+
quote: "引用",
|
|
17
|
+
codeBlock: "代码",
|
|
18
|
+
divider: "分隔线",
|
|
19
|
+
image: "图片",
|
|
20
|
+
toggle: "折叠块",
|
|
21
|
+
callout: "提示块",
|
|
22
|
+
table: "表格",
|
|
23
|
+
attachment: "附件",
|
|
24
|
+
embed: "嵌入"
|
|
25
|
+
},
|
|
26
|
+
hints: {
|
|
27
|
+
paragraph: "普通的文字",
|
|
28
|
+
heading1: "最大的标题",
|
|
29
|
+
heading2: "中等的标题",
|
|
30
|
+
heading3: "较小的标题",
|
|
31
|
+
bulletItem: "用圆点列出几项",
|
|
32
|
+
numberedItem: "按顺序编号",
|
|
33
|
+
checkItem: "可以勾选的事项",
|
|
34
|
+
quote: "引用一段话",
|
|
35
|
+
codeBlock: "等宽显示代码",
|
|
36
|
+
divider: "分隔上下内容",
|
|
37
|
+
image: "上传或嵌入一张图片",
|
|
38
|
+
toggle: "可以展开和收起的内容",
|
|
39
|
+
callout: "带图标的醒目说明",
|
|
40
|
+
table: "插入一个表格",
|
|
41
|
+
attachment: "上传一个文件",
|
|
42
|
+
embed: "视频、音频或网页"
|
|
43
|
+
},
|
|
44
|
+
image: {
|
|
45
|
+
empty: "添加一张图片",
|
|
46
|
+
upload: "上传",
|
|
47
|
+
embed: "嵌入链接",
|
|
48
|
+
urlPlaceholder: "粘贴图片链接",
|
|
49
|
+
apply: "确定",
|
|
50
|
+
uploading: "正在上传",
|
|
51
|
+
failed: "上传失败,请重试",
|
|
52
|
+
caption: "添加说明",
|
|
53
|
+
resize: "拖动调整宽度"
|
|
54
|
+
},
|
|
55
|
+
codeBlock: {
|
|
56
|
+
language: "语言",
|
|
57
|
+
plainText: "纯文本"
|
|
58
|
+
},
|
|
59
|
+
toggle: {
|
|
60
|
+
expand: "展开",
|
|
61
|
+
collapse: "收起"
|
|
62
|
+
},
|
|
63
|
+
mention: {
|
|
64
|
+
label: "提及",
|
|
65
|
+
searching: "正在搜索",
|
|
66
|
+
noResults: "没有找到"
|
|
67
|
+
},
|
|
68
|
+
table: {
|
|
69
|
+
row: "选择这一行",
|
|
70
|
+
column: "选择这一列",
|
|
71
|
+
insertAbove: "在上方插入行",
|
|
72
|
+
insertBelow: "在下方插入行",
|
|
73
|
+
insertLeft: "在左侧插入列",
|
|
74
|
+
insertRight: "在右侧插入列",
|
|
75
|
+
moveUp: "上移",
|
|
76
|
+
moveDown: "下移",
|
|
77
|
+
moveLeft: "左移",
|
|
78
|
+
moveRight: "右移",
|
|
79
|
+
deleteRow: "删除行",
|
|
80
|
+
deleteColumn: "删除列",
|
|
81
|
+
merge: "合并单元格",
|
|
82
|
+
split: "取消合并",
|
|
83
|
+
clear: "清空内容",
|
|
84
|
+
headerRow: "标题行",
|
|
85
|
+
headerColumn: "标题列",
|
|
86
|
+
alignLeft: "左对齐",
|
|
87
|
+
alignCenter: "居中",
|
|
88
|
+
alignRight: "右对齐",
|
|
89
|
+
addRow: "添加一行",
|
|
90
|
+
addColumn: "添加一列"
|
|
91
|
+
},
|
|
92
|
+
callout: {
|
|
93
|
+
change: "点击更换",
|
|
94
|
+
tones: {
|
|
95
|
+
info: "说明",
|
|
96
|
+
tip: "提示",
|
|
97
|
+
warning: "注意",
|
|
98
|
+
danger: "警告"
|
|
99
|
+
}
|
|
100
|
+
},
|
|
101
|
+
colors: {
|
|
102
|
+
label: "颜色",
|
|
103
|
+
text: "文字颜色",
|
|
104
|
+
background: "背景色",
|
|
105
|
+
none: "默认",
|
|
106
|
+
names: {
|
|
107
|
+
gray: "灰色",
|
|
108
|
+
red: "红色",
|
|
109
|
+
orange: "橙色",
|
|
110
|
+
yellow: "黄色",
|
|
111
|
+
green: "绿色",
|
|
112
|
+
blue: "蓝色",
|
|
113
|
+
purple: "紫色",
|
|
114
|
+
pink: "粉色"
|
|
115
|
+
}
|
|
116
|
+
},
|
|
117
|
+
align: {
|
|
118
|
+
label: "对齐",
|
|
119
|
+
left: "左对齐",
|
|
120
|
+
center: "居中",
|
|
121
|
+
right: "右对齐"
|
|
122
|
+
},
|
|
123
|
+
attachment: {
|
|
124
|
+
empty: "添加附件",
|
|
125
|
+
upload: "选择文件",
|
|
126
|
+
uploading: "正在上传…",
|
|
127
|
+
failed: "上传失败",
|
|
128
|
+
retry: "重试",
|
|
129
|
+
download: "下载"
|
|
130
|
+
},
|
|
131
|
+
embed: {
|
|
132
|
+
empty: "嵌入视频、音频或网页",
|
|
133
|
+
urlPlaceholder: "粘贴链接",
|
|
134
|
+
apply: "嵌入",
|
|
135
|
+
invalid: "无法嵌入这个链接",
|
|
136
|
+
insecure: "只能嵌入 https 开头的链接",
|
|
137
|
+
edit: "修改链接",
|
|
138
|
+
cancel: "取消",
|
|
139
|
+
caption: "添加说明"
|
|
140
|
+
},
|
|
141
|
+
noResults: "没有匹配的块",
|
|
142
|
+
addBlock: "在下方添加块",
|
|
143
|
+
dragHandle: "拖动以移动,点击打开菜单",
|
|
144
|
+
turnInto: "转换为",
|
|
145
|
+
duplicate: "复制",
|
|
146
|
+
delete: "删除",
|
|
147
|
+
moveUp: "上移",
|
|
148
|
+
moveDown: "下移",
|
|
149
|
+
bold: "粗体",
|
|
150
|
+
italic: "斜体",
|
|
151
|
+
underline: "下划线",
|
|
152
|
+
strike: "删除线",
|
|
153
|
+
code: "行内代码",
|
|
154
|
+
link: "链接",
|
|
155
|
+
linkPlaceholder: "粘贴或输入链接",
|
|
156
|
+
applyLink: "确定",
|
|
157
|
+
removeLink: "移除链接",
|
|
158
|
+
comment: "评论",
|
|
159
|
+
commentThread: "评论",
|
|
160
|
+
removedBlock: "已删除的内容",
|
|
161
|
+
restored: "已恢复到这个版本",
|
|
162
|
+
changeAdded: "新增",
|
|
163
|
+
changeRemoved: "删除",
|
|
164
|
+
changeChanged: "修改",
|
|
165
|
+
formatting: "文字格式",
|
|
166
|
+
blockTypes: "块类型"
|
|
167
|
+
};
|
|
168
|
+
var zhTW = {
|
|
169
|
+
placeholder: "輸入 / 插入內容",
|
|
170
|
+
emptyPlaceholder: "開始寫點什麼,或輸入 / 插入內容",
|
|
171
|
+
headingPlaceholder: "標題",
|
|
172
|
+
types: {
|
|
173
|
+
paragraph: "內文",
|
|
174
|
+
heading1: "一級標題",
|
|
175
|
+
heading2: "二級標題",
|
|
176
|
+
heading3: "三級標題",
|
|
177
|
+
bulletItem: "項目清單",
|
|
178
|
+
numberedItem: "編號清單",
|
|
179
|
+
checkItem: "待辦事項",
|
|
180
|
+
quote: "引用",
|
|
181
|
+
codeBlock: "程式碼",
|
|
182
|
+
divider: "分隔線",
|
|
183
|
+
image: "圖片",
|
|
184
|
+
toggle: "摺疊區塊",
|
|
185
|
+
callout: "提示區塊",
|
|
186
|
+
table: "表格",
|
|
187
|
+
attachment: "附件",
|
|
188
|
+
embed: "嵌入"
|
|
189
|
+
},
|
|
190
|
+
hints: {
|
|
191
|
+
paragraph: "一般的文字",
|
|
192
|
+
heading1: "最大的標題",
|
|
193
|
+
heading2: "中等的標題",
|
|
194
|
+
heading3: "較小的標題",
|
|
195
|
+
bulletItem: "用圓點列出幾項",
|
|
196
|
+
numberedItem: "依序編號",
|
|
197
|
+
checkItem: "可以勾選的事項",
|
|
198
|
+
quote: "引用一段話",
|
|
199
|
+
codeBlock: "等寬顯示程式碼",
|
|
200
|
+
divider: "分隔上下內容",
|
|
201
|
+
image: "上傳或嵌入一張圖片",
|
|
202
|
+
toggle: "可以展開和收合的內容",
|
|
203
|
+
callout: "帶圖示的醒目說明",
|
|
204
|
+
table: "插入一個表格",
|
|
205
|
+
attachment: "上傳一個檔案",
|
|
206
|
+
embed: "影片、音訊或網頁"
|
|
207
|
+
},
|
|
208
|
+
image: {
|
|
209
|
+
empty: "新增一張圖片",
|
|
210
|
+
upload: "上傳",
|
|
211
|
+
embed: "嵌入連結",
|
|
212
|
+
urlPlaceholder: "貼上圖片連結",
|
|
213
|
+
apply: "確定",
|
|
214
|
+
uploading: "正在上傳",
|
|
215
|
+
failed: "上傳失敗,請重試",
|
|
216
|
+
caption: "新增說明",
|
|
217
|
+
resize: "拖曳調整寬度"
|
|
218
|
+
},
|
|
219
|
+
codeBlock: {
|
|
220
|
+
language: "語言",
|
|
221
|
+
plainText: "純文字"
|
|
222
|
+
},
|
|
223
|
+
toggle: {
|
|
224
|
+
expand: "展開",
|
|
225
|
+
collapse: "收合"
|
|
226
|
+
},
|
|
227
|
+
mention: {
|
|
228
|
+
label: "提及",
|
|
229
|
+
searching: "正在搜尋",
|
|
230
|
+
noResults: "沒有找到"
|
|
231
|
+
},
|
|
232
|
+
table: {
|
|
233
|
+
row: "選擇這一列",
|
|
234
|
+
column: "選擇這一欄",
|
|
235
|
+
insertAbove: "在上方插入列",
|
|
236
|
+
insertBelow: "在下方插入列",
|
|
237
|
+
insertLeft: "在左側插入欄",
|
|
238
|
+
insertRight: "在右側插入欄",
|
|
239
|
+
moveUp: "上移",
|
|
240
|
+
moveDown: "下移",
|
|
241
|
+
moveLeft: "左移",
|
|
242
|
+
moveRight: "右移",
|
|
243
|
+
deleteRow: "刪除列",
|
|
244
|
+
deleteColumn: "刪除欄",
|
|
245
|
+
merge: "合併儲存格",
|
|
246
|
+
split: "取消合併",
|
|
247
|
+
clear: "清除內容",
|
|
248
|
+
headerRow: "標題列",
|
|
249
|
+
headerColumn: "標題欄",
|
|
250
|
+
alignLeft: "靠左對齊",
|
|
251
|
+
alignCenter: "置中",
|
|
252
|
+
alignRight: "靠右對齊",
|
|
253
|
+
addRow: "新增一列",
|
|
254
|
+
addColumn: "新增一欄"
|
|
255
|
+
},
|
|
256
|
+
callout: {
|
|
257
|
+
change: "點擊更換",
|
|
258
|
+
tones: {
|
|
259
|
+
info: "說明",
|
|
260
|
+
tip: "提示",
|
|
261
|
+
warning: "注意",
|
|
262
|
+
danger: "警告"
|
|
263
|
+
}
|
|
264
|
+
},
|
|
265
|
+
colors: {
|
|
266
|
+
label: "顏色",
|
|
267
|
+
text: "文字顏色",
|
|
268
|
+
background: "背景色",
|
|
269
|
+
none: "預設",
|
|
270
|
+
names: {
|
|
271
|
+
gray: "灰色",
|
|
272
|
+
red: "紅色",
|
|
273
|
+
orange: "橙色",
|
|
274
|
+
yellow: "黃色",
|
|
275
|
+
green: "綠色",
|
|
276
|
+
blue: "藍色",
|
|
277
|
+
purple: "紫色",
|
|
278
|
+
pink: "粉紅色"
|
|
279
|
+
}
|
|
280
|
+
},
|
|
281
|
+
align: {
|
|
282
|
+
label: "對齊",
|
|
283
|
+
left: "靠左對齊",
|
|
284
|
+
center: "置中",
|
|
285
|
+
right: "靠右對齊"
|
|
286
|
+
},
|
|
287
|
+
attachment: {
|
|
288
|
+
empty: "新增附件",
|
|
289
|
+
upload: "選擇檔案",
|
|
290
|
+
uploading: "正在上傳…",
|
|
291
|
+
failed: "上傳失敗",
|
|
292
|
+
retry: "重試",
|
|
293
|
+
download: "下載"
|
|
294
|
+
},
|
|
295
|
+
embed: {
|
|
296
|
+
empty: "嵌入影片、音訊或網頁",
|
|
297
|
+
urlPlaceholder: "貼上連結",
|
|
298
|
+
apply: "嵌入",
|
|
299
|
+
invalid: "無法嵌入這個連結",
|
|
300
|
+
insecure: "只能嵌入 https 開頭的連結",
|
|
301
|
+
edit: "修改連結",
|
|
302
|
+
cancel: "取消",
|
|
303
|
+
caption: "新增說明"
|
|
304
|
+
},
|
|
305
|
+
noResults: "沒有符合的區塊",
|
|
306
|
+
addBlock: "在下方新增區塊",
|
|
307
|
+
dragHandle: "拖曳以移動,點擊開啟選單",
|
|
308
|
+
turnInto: "轉換為",
|
|
309
|
+
duplicate: "複製",
|
|
310
|
+
delete: "刪除",
|
|
311
|
+
moveUp: "上移",
|
|
312
|
+
moveDown: "下移",
|
|
313
|
+
bold: "粗體",
|
|
314
|
+
italic: "斜體",
|
|
315
|
+
underline: "底線",
|
|
316
|
+
strike: "刪除線",
|
|
317
|
+
code: "行內程式碼",
|
|
318
|
+
link: "連結",
|
|
319
|
+
linkPlaceholder: "貼上或輸入連結",
|
|
320
|
+
applyLink: "確定",
|
|
321
|
+
removeLink: "移除連結",
|
|
322
|
+
comment: "評論",
|
|
323
|
+
commentThread: "評論",
|
|
324
|
+
removedBlock: "已刪除的內容",
|
|
325
|
+
restored: "已還原到這個版本",
|
|
326
|
+
changeAdded: "新增",
|
|
327
|
+
changeRemoved: "刪除",
|
|
328
|
+
changeChanged: "修改",
|
|
329
|
+
formatting: "文字格式",
|
|
330
|
+
blockTypes: "區塊類型"
|
|
331
|
+
};
|
|
332
|
+
var en = {
|
|
333
|
+
placeholder: "Type / for blocks",
|
|
334
|
+
emptyPlaceholder: "Start writing, or type / for blocks",
|
|
335
|
+
headingPlaceholder: "Heading",
|
|
336
|
+
types: {
|
|
337
|
+
paragraph: "Text",
|
|
338
|
+
heading1: "Heading 1",
|
|
339
|
+
heading2: "Heading 2",
|
|
340
|
+
heading3: "Heading 3",
|
|
341
|
+
bulletItem: "Bulleted list",
|
|
342
|
+
numberedItem: "Numbered list",
|
|
343
|
+
checkItem: "To-do",
|
|
344
|
+
quote: "Quote",
|
|
345
|
+
codeBlock: "Code",
|
|
346
|
+
divider: "Divider",
|
|
347
|
+
image: "Image",
|
|
348
|
+
toggle: "Toggle",
|
|
349
|
+
callout: "Callout",
|
|
350
|
+
table: "Table",
|
|
351
|
+
attachment: "File",
|
|
352
|
+
embed: "Embed"
|
|
353
|
+
},
|
|
354
|
+
hints: {
|
|
355
|
+
paragraph: "Plain text",
|
|
356
|
+
heading1: "Large section heading",
|
|
357
|
+
heading2: "Medium section heading",
|
|
358
|
+
heading3: "Small section heading",
|
|
359
|
+
bulletItem: "A simple list",
|
|
360
|
+
numberedItem: "A list with numbers",
|
|
361
|
+
checkItem: "Items to tick off",
|
|
362
|
+
quote: "Quote someone",
|
|
363
|
+
codeBlock: "Code in a monospace font",
|
|
364
|
+
divider: "Separate sections",
|
|
365
|
+
image: "Upload or embed an image",
|
|
366
|
+
toggle: "Content that can be shown or hidden",
|
|
367
|
+
callout: "A note that stands out, with an icon",
|
|
368
|
+
table: "A grid of rows and columns",
|
|
369
|
+
attachment: "Upload a file",
|
|
370
|
+
embed: "Video, audio or a web page"
|
|
371
|
+
},
|
|
372
|
+
image: {
|
|
373
|
+
empty: "Add an image",
|
|
374
|
+
upload: "Upload",
|
|
375
|
+
embed: "Embed link",
|
|
376
|
+
urlPlaceholder: "Paste the image link",
|
|
377
|
+
apply: "Apply",
|
|
378
|
+
uploading: "Uploading",
|
|
379
|
+
failed: "Upload failed, try again",
|
|
380
|
+
caption: "Add a caption",
|
|
381
|
+
resize: "Drag to resize"
|
|
382
|
+
},
|
|
383
|
+
codeBlock: {
|
|
384
|
+
language: "Language",
|
|
385
|
+
plainText: "Plain text"
|
|
386
|
+
},
|
|
387
|
+
toggle: {
|
|
388
|
+
expand: "Expand",
|
|
389
|
+
collapse: "Collapse"
|
|
390
|
+
},
|
|
391
|
+
mention: {
|
|
392
|
+
label: "Mention",
|
|
393
|
+
searching: "Searching",
|
|
394
|
+
noResults: "No one found"
|
|
395
|
+
},
|
|
396
|
+
table: {
|
|
397
|
+
row: "Select row",
|
|
398
|
+
column: "Select column",
|
|
399
|
+
insertAbove: "Insert row above",
|
|
400
|
+
insertBelow: "Insert row below",
|
|
401
|
+
insertLeft: "Insert column left",
|
|
402
|
+
insertRight: "Insert column right",
|
|
403
|
+
moveUp: "Move up",
|
|
404
|
+
moveDown: "Move down",
|
|
405
|
+
moveLeft: "Move left",
|
|
406
|
+
moveRight: "Move right",
|
|
407
|
+
deleteRow: "Delete row",
|
|
408
|
+
deleteColumn: "Delete column",
|
|
409
|
+
merge: "Merge cells",
|
|
410
|
+
split: "Unmerge",
|
|
411
|
+
clear: "Clear contents",
|
|
412
|
+
headerRow: "Header row",
|
|
413
|
+
headerColumn: "Header column",
|
|
414
|
+
alignLeft: "Align left",
|
|
415
|
+
alignCenter: "Align center",
|
|
416
|
+
alignRight: "Align right",
|
|
417
|
+
addRow: "Add a row",
|
|
418
|
+
addColumn: "Add a column"
|
|
419
|
+
},
|
|
420
|
+
callout: {
|
|
421
|
+
change: "click to change",
|
|
422
|
+
tones: {
|
|
423
|
+
info: "Info",
|
|
424
|
+
tip: "Tip",
|
|
425
|
+
warning: "Warning",
|
|
426
|
+
danger: "Danger"
|
|
427
|
+
}
|
|
428
|
+
},
|
|
429
|
+
colors: {
|
|
430
|
+
label: "Color",
|
|
431
|
+
text: "Text color",
|
|
432
|
+
background: "Background",
|
|
433
|
+
none: "Default",
|
|
434
|
+
names: {
|
|
435
|
+
gray: "Gray",
|
|
436
|
+
red: "Red",
|
|
437
|
+
orange: "Orange",
|
|
438
|
+
yellow: "Yellow",
|
|
439
|
+
green: "Green",
|
|
440
|
+
blue: "Blue",
|
|
441
|
+
purple: "Purple",
|
|
442
|
+
pink: "Pink"
|
|
443
|
+
}
|
|
444
|
+
},
|
|
445
|
+
align: {
|
|
446
|
+
label: "Align",
|
|
447
|
+
left: "Align left",
|
|
448
|
+
center: "Center",
|
|
449
|
+
right: "Align right"
|
|
450
|
+
},
|
|
451
|
+
attachment: {
|
|
452
|
+
empty: "Add a file",
|
|
453
|
+
upload: "Choose a file",
|
|
454
|
+
uploading: "Uploading…",
|
|
455
|
+
failed: "Upload failed",
|
|
456
|
+
retry: "Retry",
|
|
457
|
+
download: "Download"
|
|
458
|
+
},
|
|
459
|
+
embed: {
|
|
460
|
+
empty: "Embed a video, audio or web page",
|
|
461
|
+
urlPlaceholder: "Paste a link",
|
|
462
|
+
apply: "Embed",
|
|
463
|
+
invalid: "This link can't be embedded",
|
|
464
|
+
insecure: "Only https links can be embedded",
|
|
465
|
+
edit: "Change link",
|
|
466
|
+
cancel: "Cancel",
|
|
467
|
+
caption: "Add a caption"
|
|
468
|
+
},
|
|
469
|
+
noResults: "No matching blocks",
|
|
470
|
+
addBlock: "Add a block below",
|
|
471
|
+
dragHandle: "Drag to move, click for the menu",
|
|
472
|
+
turnInto: "Turn into",
|
|
473
|
+
duplicate: "Duplicate",
|
|
474
|
+
delete: "Delete",
|
|
475
|
+
moveUp: "Move up",
|
|
476
|
+
moveDown: "Move down",
|
|
477
|
+
bold: "Bold",
|
|
478
|
+
italic: "Italic",
|
|
479
|
+
underline: "Underline",
|
|
480
|
+
strike: "Strikethrough",
|
|
481
|
+
code: "Inline code",
|
|
482
|
+
link: "Link",
|
|
483
|
+
linkPlaceholder: "Paste or type a link",
|
|
484
|
+
applyLink: "Apply",
|
|
485
|
+
removeLink: "Remove link",
|
|
486
|
+
comment: "Comment",
|
|
487
|
+
commentThread: "Comments",
|
|
488
|
+
removedBlock: "Removed content",
|
|
489
|
+
restored: "Restored this version",
|
|
490
|
+
changeAdded: "Added",
|
|
491
|
+
changeRemoved: "Removed",
|
|
492
|
+
changeChanged: "Changed",
|
|
493
|
+
formatting: "Text formatting",
|
|
494
|
+
blockTypes: "Block types"
|
|
495
|
+
};
|
|
496
|
+
var editorLocales = {
|
|
497
|
+
"zh-CN": zhCN,
|
|
498
|
+
"zh-TW": zhTW,
|
|
499
|
+
en
|
|
500
|
+
};
|
|
501
|
+
function merge(base, extra) {
|
|
502
|
+
if (!extra || typeof extra !== "object") return extra ?? base;
|
|
503
|
+
const result = { ...base };
|
|
504
|
+
for (const [key, value] of Object.entries(extra)) {
|
|
505
|
+
if (value === void 0) continue;
|
|
506
|
+
const current = result[key];
|
|
507
|
+
result[key] = current && typeof current === "object" && typeof value === "object" ? merge(current, value) : value;
|
|
508
|
+
}
|
|
509
|
+
return result;
|
|
510
|
+
}
|
|
511
|
+
function useEditorMessages(override) {
|
|
512
|
+
const { locale } = useLocale();
|
|
513
|
+
return computed(() => {
|
|
514
|
+
const name = locale.value.name;
|
|
515
|
+
const base = editorLocales[name] ?? editorLocales[name.split("-")[0]] ?? (name.startsWith("zh") ? zhCN : en);
|
|
516
|
+
const extra = toValue(override);
|
|
517
|
+
return extra ? merge(base, extra) : base;
|
|
518
|
+
});
|
|
519
|
+
}
|
|
520
|
+
export { editorLocales, useEditorMessages };
|
|
521
|
+
|
|
522
|
+
//# sourceMappingURL=locale.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"locale.js","names":[],"sources":["../src/locale.ts"],"sourcesContent":["import { useLocale } from 'dou-ui'\nimport { computed, toValue, type MaybeRefOrGetter } from 'vue'\n\nexport interface EditorMessages {\n placeholder: string\n emptyPlaceholder: string\n headingPlaceholder: string\n /** Names of the block types, also shown in menus. */\n types: {\n paragraph: string\n heading1: string\n heading2: string\n heading3: string\n bulletItem: string\n numberedItem: string\n checkItem: string\n quote: string\n codeBlock: string\n divider: string\n image: string\n toggle: string\n callout: string\n table: string\n attachment: string\n embed: string\n }\n /** Short descriptions in the slash menu. */\n hints: {\n paragraph: string\n heading1: string\n heading2: string\n heading3: string\n bulletItem: string\n numberedItem: string\n checkItem: string\n quote: string\n codeBlock: string\n divider: string\n image: string\n toggle: string\n callout: string\n table: string\n attachment: string\n embed: string\n }\n /** The image block. */\n image: {\n empty: string\n upload: string\n embed: string\n urlPlaceholder: string\n apply: string\n uploading: string\n failed: string\n caption: string\n resize: string\n }\n /** The code block. */\n codeBlock: {\n /** The language picker's name. */\n language: string\n plainText: string\n }\n toggle: { expand: string; collapse: string }\n callout: {\n /** Said after the tone on the icon button. */\n change: string\n tones: { info: string; tip: string; warning: string; danger: string }\n }\n mention: { label: string; searching: string; noResults: string }\n /** The table: its row and column menus. */\n table: {\n row: string\n column: string\n insertAbove: string\n insertBelow: string\n insertLeft: string\n insertRight: string\n moveUp: string\n moveDown: string\n moveLeft: string\n moveRight: string\n deleteRow: string\n deleteColumn: string\n merge: string\n split: string\n clear: string\n headerRow: string\n headerColumn: string\n alignLeft: string\n alignCenter: string\n alignRight: string\n addRow: string\n addColumn: string\n }\n /** The color menu of the formatting toolbar. */\n colors: {\n label: string\n text: string\n background: string\n none: string\n names: {\n gray: string\n red: string\n orange: string\n yellow: string\n green: string\n blue: string\n purple: string\n pink: string\n }\n }\n /** Aligning paragraphs, headings and quotes. */\n align: { label: string; left: string; center: string; right: string }\n /** The attachment block. */\n attachment: {\n empty: string\n upload: string\n uploading: string\n failed: string\n retry: string\n download: string\n }\n /** The embed block. */\n embed: {\n empty: string\n urlPlaceholder: string\n apply: string\n invalid: string\n /** The link is not https. */\n insecure: string\n caption: string\n edit: string\n cancel: string\n }\n noResults: string\n addBlock: string\n dragHandle: string\n turnInto: string\n duplicate: string\n delete: string\n moveUp: string\n moveDown: string\n bold: string\n italic: string\n underline: string\n strike: string\n code: string\n link: string\n linkPlaceholder: string\n applyLink: string\n removeLink: string\n /** Starts a comment thread on the selected text. */\n comment: string\n /** The name of the card that shows a thread. */\n commentThread: string\n /** Shown for a removed block that has no text, such as a divider, when comparing versions. */\n removedBlock: string\n /** Read out once a version is restored. */\n restored: string\n /** Read out, before the text, when going to a change while comparing. */\n changeAdded: string\n changeRemoved: string\n changeChanged: string\n formatting: string\n /** The name of the slash menu's list. */\n blockTypes: string\n}\n\nconst zhCN: EditorMessages = {\n placeholder: '输入 / 插入内容',\n emptyPlaceholder: '开始写点什么,或输入 / 插入内容',\n headingPlaceholder: '标题',\n types: {\n paragraph: '正文',\n heading1: '一级标题',\n heading2: '二级标题',\n heading3: '三级标题',\n bulletItem: '无序列表',\n numberedItem: '有序列表',\n checkItem: '待办事项',\n quote: '引用',\n codeBlock: '代码',\n divider: '分隔线',\n image: '图片',\n toggle: '折叠块',\n callout: '提示块',\n table: '表格',\n attachment: '附件',\n embed: '嵌入',\n },\n hints: {\n paragraph: '普通的文字',\n heading1: '最大的标题',\n heading2: '中等的标题',\n heading3: '较小的标题',\n bulletItem: '用圆点列出几项',\n numberedItem: '按顺序编号',\n checkItem: '可以勾选的事项',\n quote: '引用一段话',\n codeBlock: '等宽显示代码',\n divider: '分隔上下内容',\n image: '上传或嵌入一张图片',\n toggle: '可以展开和收起的内容',\n callout: '带图标的醒目说明',\n table: '插入一个表格',\n attachment: '上传一个文件',\n embed: '视频、音频或网页',\n },\n image: {\n empty: '添加一张图片',\n upload: '上传',\n embed: '嵌入链接',\n urlPlaceholder: '粘贴图片链接',\n apply: '确定',\n uploading: '正在上传',\n failed: '上传失败,请重试',\n caption: '添加说明',\n resize: '拖动调整宽度',\n },\n codeBlock: { language: '语言', plainText: '纯文本' },\n toggle: { expand: '展开', collapse: '收起' },\n mention: { label: '提及', searching: '正在搜索', noResults: '没有找到' },\n table: {\n row: '选择这一行',\n column: '选择这一列',\n insertAbove: '在上方插入行',\n insertBelow: '在下方插入行',\n insertLeft: '在左侧插入列',\n insertRight: '在右侧插入列',\n moveUp: '上移',\n moveDown: '下移',\n moveLeft: '左移',\n moveRight: '右移',\n deleteRow: '删除行',\n deleteColumn: '删除列',\n merge: '合并单元格',\n split: '取消合并',\n clear: '清空内容',\n headerRow: '标题行',\n headerColumn: '标题列',\n alignLeft: '左对齐',\n alignCenter: '居中',\n alignRight: '右对齐',\n addRow: '添加一行',\n addColumn: '添加一列',\n },\n callout: {\n change: '点击更换',\n tones: { info: '说明', tip: '提示', warning: '注意', danger: '警告' },\n },\n colors: {\n label: '颜色',\n text: '文字颜色',\n background: '背景色',\n none: '默认',\n names: {\n gray: '灰色',\n red: '红色',\n orange: '橙色',\n yellow: '黄色',\n green: '绿色',\n blue: '蓝色',\n purple: '紫色',\n pink: '粉色',\n },\n },\n align: { label: '对齐', left: '左对齐', center: '居中', right: '右对齐' },\n attachment: {\n empty: '添加附件',\n upload: '选择文件',\n uploading: '正在上传…',\n failed: '上传失败',\n retry: '重试',\n download: '下载',\n },\n embed: {\n empty: '嵌入视频、音频或网页',\n urlPlaceholder: '粘贴链接',\n apply: '嵌入',\n invalid: '无法嵌入这个链接',\n insecure: '只能嵌入 https 开头的链接',\n edit: '修改链接',\n cancel: '取消',\n caption: '添加说明',\n },\n noResults: '没有匹配的块',\n addBlock: '在下方添加块',\n dragHandle: '拖动以移动,点击打开菜单',\n turnInto: '转换为',\n duplicate: '复制',\n delete: '删除',\n moveUp: '上移',\n moveDown: '下移',\n bold: '粗体',\n italic: '斜体',\n underline: '下划线',\n strike: '删除线',\n code: '行内代码',\n link: '链接',\n linkPlaceholder: '粘贴或输入链接',\n applyLink: '确定',\n removeLink: '移除链接',\n comment: '评论',\n commentThread: '评论',\n removedBlock: '已删除的内容',\n restored: '已恢复到这个版本',\n changeAdded: '新增',\n changeRemoved: '删除',\n changeChanged: '修改',\n formatting: '文字格式',\n blockTypes: '块类型',\n}\n\nconst zhTW: EditorMessages = {\n placeholder: '輸入 / 插入內容',\n emptyPlaceholder: '開始寫點什麼,或輸入 / 插入內容',\n headingPlaceholder: '標題',\n types: {\n paragraph: '內文',\n heading1: '一級標題',\n heading2: '二級標題',\n heading3: '三級標題',\n bulletItem: '項目清單',\n numberedItem: '編號清單',\n checkItem: '待辦事項',\n quote: '引用',\n codeBlock: '程式碼',\n divider: '分隔線',\n image: '圖片',\n toggle: '摺疊區塊',\n callout: '提示區塊',\n table: '表格',\n attachment: '附件',\n embed: '嵌入',\n },\n hints: {\n paragraph: '一般的文字',\n heading1: '最大的標題',\n heading2: '中等的標題',\n heading3: '較小的標題',\n bulletItem: '用圓點列出幾項',\n numberedItem: '依序編號',\n checkItem: '可以勾選的事項',\n quote: '引用一段話',\n codeBlock: '等寬顯示程式碼',\n divider: '分隔上下內容',\n image: '上傳或嵌入一張圖片',\n toggle: '可以展開和收合的內容',\n callout: '帶圖示的醒目說明',\n table: '插入一個表格',\n attachment: '上傳一個檔案',\n embed: '影片、音訊或網頁',\n },\n image: {\n empty: '新增一張圖片',\n upload: '上傳',\n embed: '嵌入連結',\n urlPlaceholder: '貼上圖片連結',\n apply: '確定',\n uploading: '正在上傳',\n failed: '上傳失敗,請重試',\n caption: '新增說明',\n resize: '拖曳調整寬度',\n },\n codeBlock: { language: '語言', plainText: '純文字' },\n toggle: { expand: '展開', collapse: '收合' },\n mention: { label: '提及', searching: '正在搜尋', noResults: '沒有找到' },\n table: {\n row: '選擇這一列',\n column: '選擇這一欄',\n insertAbove: '在上方插入列',\n insertBelow: '在下方插入列',\n insertLeft: '在左側插入欄',\n insertRight: '在右側插入欄',\n moveUp: '上移',\n moveDown: '下移',\n moveLeft: '左移',\n moveRight: '右移',\n deleteRow: '刪除列',\n deleteColumn: '刪除欄',\n merge: '合併儲存格',\n split: '取消合併',\n clear: '清除內容',\n headerRow: '標題列',\n headerColumn: '標題欄',\n alignLeft: '靠左對齊',\n alignCenter: '置中',\n alignRight: '靠右對齊',\n addRow: '新增一列',\n addColumn: '新增一欄',\n },\n callout: {\n change: '點擊更換',\n tones: { info: '說明', tip: '提示', warning: '注意', danger: '警告' },\n },\n colors: {\n label: '顏色',\n text: '文字顏色',\n background: '背景色',\n none: '預設',\n names: {\n gray: '灰色',\n red: '紅色',\n orange: '橙色',\n yellow: '黃色',\n green: '綠色',\n blue: '藍色',\n purple: '紫色',\n pink: '粉紅色',\n },\n },\n align: { label: '對齊', left: '靠左對齊', center: '置中', right: '靠右對齊' },\n attachment: {\n empty: '新增附件',\n upload: '選擇檔案',\n uploading: '正在上傳…',\n failed: '上傳失敗',\n retry: '重試',\n download: '下載',\n },\n embed: {\n empty: '嵌入影片、音訊或網頁',\n urlPlaceholder: '貼上連結',\n apply: '嵌入',\n invalid: '無法嵌入這個連結',\n insecure: '只能嵌入 https 開頭的連結',\n edit: '修改連結',\n cancel: '取消',\n caption: '新增說明',\n },\n noResults: '沒有符合的區塊',\n addBlock: '在下方新增區塊',\n dragHandle: '拖曳以移動,點擊開啟選單',\n turnInto: '轉換為',\n duplicate: '複製',\n delete: '刪除',\n moveUp: '上移',\n moveDown: '下移',\n bold: '粗體',\n italic: '斜體',\n underline: '底線',\n strike: '刪除線',\n code: '行內程式碼',\n link: '連結',\n linkPlaceholder: '貼上或輸入連結',\n applyLink: '確定',\n removeLink: '移除連結',\n comment: '評論',\n commentThread: '評論',\n removedBlock: '已刪除的內容',\n restored: '已還原到這個版本',\n changeAdded: '新增',\n changeRemoved: '刪除',\n changeChanged: '修改',\n formatting: '文字格式',\n blockTypes: '區塊類型',\n}\n\nconst en: EditorMessages = {\n placeholder: 'Type / for blocks',\n emptyPlaceholder: 'Start writing, or type / for blocks',\n headingPlaceholder: 'Heading',\n types: {\n paragraph: 'Text',\n heading1: 'Heading 1',\n heading2: 'Heading 2',\n heading3: 'Heading 3',\n bulletItem: 'Bulleted list',\n numberedItem: 'Numbered list',\n checkItem: 'To-do',\n quote: 'Quote',\n codeBlock: 'Code',\n divider: 'Divider',\n image: 'Image',\n toggle: 'Toggle',\n callout: 'Callout',\n table: 'Table',\n attachment: 'File',\n embed: 'Embed',\n },\n hints: {\n paragraph: 'Plain text',\n heading1: 'Large section heading',\n heading2: 'Medium section heading',\n heading3: 'Small section heading',\n bulletItem: 'A simple list',\n numberedItem: 'A list with numbers',\n checkItem: 'Items to tick off',\n quote: 'Quote someone',\n codeBlock: 'Code in a monospace font',\n divider: 'Separate sections',\n image: 'Upload or embed an image',\n toggle: 'Content that can be shown or hidden',\n callout: 'A note that stands out, with an icon',\n table: 'A grid of rows and columns',\n attachment: 'Upload a file',\n embed: 'Video, audio or a web page',\n },\n image: {\n empty: 'Add an image',\n upload: 'Upload',\n embed: 'Embed link',\n urlPlaceholder: 'Paste the image link',\n apply: 'Apply',\n uploading: 'Uploading',\n failed: 'Upload failed, try again',\n caption: 'Add a caption',\n resize: 'Drag to resize',\n },\n codeBlock: { language: 'Language', plainText: 'Plain text' },\n toggle: { expand: 'Expand', collapse: 'Collapse' },\n mention: { label: 'Mention', searching: 'Searching', noResults: 'No one found' },\n table: {\n row: 'Select row',\n column: 'Select column',\n insertAbove: 'Insert row above',\n insertBelow: 'Insert row below',\n insertLeft: 'Insert column left',\n insertRight: 'Insert column right',\n moveUp: 'Move up',\n moveDown: 'Move down',\n moveLeft: 'Move left',\n moveRight: 'Move right',\n deleteRow: 'Delete row',\n deleteColumn: 'Delete column',\n merge: 'Merge cells',\n split: 'Unmerge',\n clear: 'Clear contents',\n headerRow: 'Header row',\n headerColumn: 'Header column',\n alignLeft: 'Align left',\n alignCenter: 'Align center',\n alignRight: 'Align right',\n addRow: 'Add a row',\n addColumn: 'Add a column',\n },\n callout: {\n change: 'click to change',\n tones: { info: 'Info', tip: 'Tip', warning: 'Warning', danger: 'Danger' },\n },\n colors: {\n label: 'Color',\n text: 'Text color',\n background: 'Background',\n none: 'Default',\n names: {\n gray: 'Gray',\n red: 'Red',\n orange: 'Orange',\n yellow: 'Yellow',\n green: 'Green',\n blue: 'Blue',\n purple: 'Purple',\n pink: 'Pink',\n },\n },\n align: { label: 'Align', left: 'Align left', center: 'Center', right: 'Align right' },\n attachment: {\n empty: 'Add a file',\n upload: 'Choose a file',\n uploading: 'Uploading…',\n failed: 'Upload failed',\n retry: 'Retry',\n download: 'Download',\n },\n embed: {\n empty: 'Embed a video, audio or web page',\n urlPlaceholder: 'Paste a link',\n apply: 'Embed',\n invalid: \"This link can't be embedded\",\n insecure: 'Only https links can be embedded',\n edit: 'Change link',\n cancel: 'Cancel',\n caption: 'Add a caption',\n },\n noResults: 'No matching blocks',\n addBlock: 'Add a block below',\n dragHandle: 'Drag to move, click for the menu',\n turnInto: 'Turn into',\n duplicate: 'Duplicate',\n delete: 'Delete',\n moveUp: 'Move up',\n moveDown: 'Move down',\n bold: 'Bold',\n italic: 'Italic',\n underline: 'Underline',\n strike: 'Strikethrough',\n code: 'Inline code',\n link: 'Link',\n linkPlaceholder: 'Paste or type a link',\n applyLink: 'Apply',\n removeLink: 'Remove link',\n comment: 'Comment',\n commentThread: 'Comments',\n removedBlock: 'Removed content',\n restored: 'Restored this version',\n changeAdded: 'Added',\n changeRemoved: 'Removed',\n changeChanged: 'Changed',\n formatting: 'Text formatting',\n blockTypes: 'Block types',\n}\n\nexport const editorLocales: Record<string, EditorMessages> = {\n 'zh-CN': zhCN,\n 'zh-TW': zhTW,\n en,\n}\n\n/**\n * The editor's texts, picked by the name of DouUI's current locale.\n * Pass `messages` to override any of them.\n */\ntype DeepPartial<T> = { [K in keyof T]?: T[K] extends object ? DeepPartial<T[K]> : T[K] }\n\n/** Any part of the messages: a nested group can be given in part too. */\nexport type EditorMessagesOverride = DeepPartial<EditorMessages>\n\nfunction merge<T>(base: T, extra: unknown): T {\n if (!extra || typeof extra !== 'object') return (extra ?? base) as T\n const result: Record<string, unknown> = { ...(base as Record<string, unknown>) }\n for (const [key, value] of Object.entries(extra)) {\n if (value === undefined) continue\n const current = result[key]\n result[key] =\n current && typeof current === 'object' && typeof value === 'object'\n ? merge(current, value)\n : value\n }\n return result as T\n}\n\nexport function useEditorMessages(override?: MaybeRefOrGetter<EditorMessagesOverride | undefined>) {\n const { locale } = useLocale()\n return computed<EditorMessages>(() => {\n const name = locale.value.name\n const base =\n editorLocales[name] ??\n editorLocales[name.split('-')[0]!] ??\n (name.startsWith('zh') ? zhCN : en)\n const extra = toValue(override)\n return extra ? merge(base, extra) : base\n })\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { parseHTML } from "../core/prepare.js";
|
|
2
|
+
import { writeMarkdown } from "../core/output.js";
|
|
3
|
+
import { kitOf } from "../core/convert.js";
|
|
4
|
+
import MarkdownIt from "markdown-it";
|
|
5
|
+
// src/markdown/index.ts
|
|
6
|
+
var parser;
|
|
7
|
+
function render(markdown) {
|
|
8
|
+
parser ??= new MarkdownIt({
|
|
9
|
+
html: true,
|
|
10
|
+
linkify: true
|
|
11
|
+
});
|
|
12
|
+
return parser.render(markdown);
|
|
13
|
+
}
|
|
14
|
+
/** Write blocks as Markdown (CommonMark with GitHub's extensions). Works without a browser. */
|
|
15
|
+
function blocksToMarkdown(blocks, extensions) {
|
|
16
|
+
return writeMarkdown(blocks, kitOf(extensions));
|
|
17
|
+
}
|
|
18
|
+
/** Read Markdown as blocks. Needs `DOMParser` (a browser, or a DOM library). */
|
|
19
|
+
function markdownToBlocks(markdown, extensions, options = {}) {
|
|
20
|
+
return parseHTML((options.render ?? render)(markdown), kitOf(extensions));
|
|
21
|
+
}
|
|
22
|
+
export { blocksToMarkdown, markdownToBlocks };
|
|
23
|
+
|
|
24
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../src/markdown/index.ts"],"sourcesContent":["import MarkdownIt from 'markdown-it'\nimport { kitOf, type EditorExtensionList } from '../core/convert'\nimport type { Block, PartialBlock } from '../core/model'\nimport { writeMarkdown } from '../core/output'\nimport { parseHTML } from '../core/prepare'\n\nexport interface MarkdownToBlocksOptions {\n /**\n * Turns Markdown into HTML. Defaults to markdown-it with HTML allowed\n * (the HTML is read like pasted HTML, so only what the extensions know\n * is kept); pass your own to add syntax.\n */\n render?: (markdown: string) => string\n}\n\nlet parser: MarkdownIt | undefined\n\nfunction render(markdown: string) {\n parser ??= new MarkdownIt({ html: true, linkify: true })\n return parser.render(markdown)\n}\n\n/** Write blocks as Markdown (CommonMark with GitHub's extensions). Works without a browser. */\nexport function blocksToMarkdown(blocks: PartialBlock[], extensions: EditorExtensionList): string {\n return writeMarkdown(blocks, kitOf(extensions))\n}\n\n/** Read Markdown as blocks. Needs `DOMParser` (a browser, or a DOM library). */\nexport function markdownToBlocks(\n markdown: string,\n extensions: EditorExtensionList,\n options: MarkdownToBlocksOptions = {},\n): Block[] {\n return parseHTML((options.render ?? render)(markdown), kitOf(extensions))\n}\n"],"mappings":";;;;;AAeA,IAAI;AAEJ,SAAS,OAAO,UAAkB;CAChC,WAAW,IAAI,WAAW;EAAE,MAAM;EAAM,SAAS;CAAK,CAAC;CACvD,OAAO,OAAO,OAAO,QAAQ;AAC/B;;AAGA,SAAgB,iBAAiB,QAAwB,YAAyC;CAChG,OAAO,cAAc,QAAQ,MAAM,UAAU,CAAC;AAChD;;AAGA,SAAgB,iBACd,UACA,YACA,UAAmC,CAAC,GAC3B;CACT,OAAO,WAAW,QAAQ,UAAU,OAAA,CAAQ,QAAQ,GAAG,MAAM,UAAU,CAAC;AAC1E"}
|