@atri-editor/core 0.4.0 → 0.5.1
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/CHANGELOG.md +16 -0
- package/dist/AtriEditor.d.ts +13 -1
- package/dist/AtriEditor.d.ts.map +1 -1
- package/dist/AtriEditorElement.d.ts +12 -1
- package/dist/AtriEditorElement.d.ts.map +1 -1
- package/dist/core/MarkdownService.d.ts +12 -1
- package/dist/core/MarkdownService.d.ts.map +1 -1
- package/dist/core/markdown-losses.d.ts +26 -0
- package/dist/core/markdown-losses.d.ts.map +1 -0
- package/dist/index.js +148 -1
- package/dist/index.js.map +1 -1
- package/dist/style.css +8 -0
- package/dist/types/editor.d.ts +5 -1
- package/dist/types/editor.d.ts.map +1 -1
- package/dist/types/markdown.d.ts +18 -0
- package/dist/types/markdown.d.ts.map +1 -1
- package/package.json +11 -12
package/dist/style.css
CHANGED
|
@@ -827,6 +827,7 @@
|
|
|
827
827
|
height: auto;
|
|
828
828
|
}
|
|
829
829
|
.atri-editor-content table {
|
|
830
|
+
display: table;
|
|
830
831
|
border-collapse: collapse;
|
|
831
832
|
width: 100%;
|
|
832
833
|
margin: 0.5em 0;
|
|
@@ -882,6 +883,13 @@
|
|
|
882
883
|
display: flex;
|
|
883
884
|
align-items: flex-start;
|
|
884
885
|
}
|
|
886
|
+
.atri-editor-content ul[data-type=taskList] li > div {
|
|
887
|
+
flex: 1;
|
|
888
|
+
min-width: 0;
|
|
889
|
+
}
|
|
890
|
+
.atri-editor-content ul[data-type=taskList] li > div > p {
|
|
891
|
+
margin: 0;
|
|
892
|
+
}
|
|
885
893
|
.atri-editor-content ul[data-type=taskList] li label {
|
|
886
894
|
margin-right: 8px;
|
|
887
895
|
}
|
package/dist/types/editor.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Editor, Extensions, JSONContent } from '@tiptap/core';
|
|
2
2
|
import type { AtriAIConfig } from './ai';
|
|
3
|
-
import type { AtriMarkdownConfig } from './markdown';
|
|
3
|
+
import type { AtriMarkdownConfig, MarkdownLoss } from './markdown';
|
|
4
4
|
import type { AtriMediaConfig, InsertAttachmentOptions, InsertImageOptions, MediaKind } from './media';
|
|
5
5
|
import type { AtriNodeViewConfig } from './extension';
|
|
6
6
|
import type { ThemeType } from '../core/ThemeManager';
|
|
@@ -156,6 +156,10 @@ export interface IAtriEditor {
|
|
|
156
156
|
getJSON(): object;
|
|
157
157
|
/** 获取 Markdown 内容 */
|
|
158
158
|
getMarkdown(): string;
|
|
159
|
+
/** 这一次 getMarkdown() 会丢掉哪些内容 */
|
|
160
|
+
getMarkdownLosses(): MarkdownLoss[];
|
|
161
|
+
/** 当前内容里有没有导出 Markdown 时会丢的东西 */
|
|
162
|
+
hasLossyContent(): boolean;
|
|
159
163
|
/** 设置内容 */
|
|
160
164
|
setContent(content: string | object, options?: SetContentOptions): void;
|
|
161
165
|
/** 设置 Markdown 内容 */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"editor.d.ts","sourceRoot":"","sources":["../../src/types/editor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AACpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,MAAM,CAAC;AACzC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"editor.d.ts","sourceRoot":"","sources":["../../src/types/editor.ts"],"names":[],"mappings":"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"}
|
package/dist/types/markdown.d.ts
CHANGED
|
@@ -40,4 +40,22 @@ export interface AtriMarkdownConfig {
|
|
|
40
40
|
*/
|
|
41
41
|
inlineStyles?: 'html' | 'drop';
|
|
42
42
|
}
|
|
43
|
+
/** 导出 Markdown 时丢失的类别:整个节点、整个标记,还是类型上一个没被 renderer 读到的属性 */
|
|
44
|
+
export type MarkdownLossKind = 'node' | 'mark' | 'attribute';
|
|
45
|
+
/**
|
|
46
|
+
* 一处会在 `getMarkdown()` 中丢失的内容,由 `AtriEditor.getMarkdownLosses()` 产出
|
|
47
|
+
*
|
|
48
|
+
* Tiptap 的序列化器对没有 `renderMarkdown` 钩子的类型是静默丢弃——不抛错、不降级成 HTML、
|
|
49
|
+
* 不留痕迹,所以光看返回值看不出这一趟少了什么。
|
|
50
|
+
*/
|
|
51
|
+
export interface MarkdownLoss {
|
|
52
|
+
/** 丢的是节点、标记,还是一个属性 */
|
|
53
|
+
kind: MarkdownLossKind;
|
|
54
|
+
/** schema 里的类型名,如 `'paragraph'` */
|
|
55
|
+
type: string;
|
|
56
|
+
/** `kind === 'attribute'` 时给出属性名,其余情况省略 */
|
|
57
|
+
attribute?: string;
|
|
58
|
+
/** 这一趟导出里会丢几处。标记按连续区间计,一个红色短语不会数出三处 */
|
|
59
|
+
count: number;
|
|
60
|
+
}
|
|
43
61
|
//# sourceMappingURL=markdown.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markdown.d.ts","sourceRoot":"","sources":["../../src/types/markdown.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,gCAAgC;IAChC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;OAEG;IACH,WAAW,CAAC,EAAE;QACZ,KAAK,CAAC,EAAE,OAAO,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;IACF,kBAAkB;IAClB,aAAa,CAAC,EAAE;QACd,+BAA+B;QAC/B,GAAG,CAAC,EAAE,OAAO,CAAC;QACd,gBAAgB;QAChB,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,WAAW;QACX,QAAQ,CAAC,EAAE,OAAO,CAAC;KACpB,CAAC;IACF;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;;;;;;;;;;OAYG;IACH,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAChC"}
|
|
1
|
+
{"version":3,"file":"markdown.d.ts","sourceRoot":"","sources":["../../src/types/markdown.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,gCAAgC;IAChC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;OAEG;IACH,WAAW,CAAC,EAAE;QACZ,KAAK,CAAC,EAAE,OAAO,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;IACF,kBAAkB;IAClB,aAAa,CAAC,EAAE;QACd,+BAA+B;QAC/B,GAAG,CAAC,EAAE,OAAO,CAAC;QACd,gBAAgB;QAChB,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,WAAW;QACX,QAAQ,CAAC,EAAE,OAAO,CAAC;KACpB,CAAC;IACF;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;;;;;;;;;;OAYG;IACH,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAChC;AAED,4DAA4D;AAC5D,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,MAAM,GAAG,WAAW,CAAC;AAE7D;;;;;GAKG;AACH,MAAM,WAAW,YAAY;IAC3B,sBAAsB;IACtB,IAAI,EAAE,gBAAgB,CAAC;IACvB,mCAAmC;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,2CAA2C;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uCAAuC;IACvC,KAAK,EAAE,MAAM,CAAC;CACf"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atri-editor/core",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.1",
|
|
4
4
|
"description": "Core package for Atri Editor",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"editor",
|
|
@@ -44,16 +44,6 @@
|
|
|
44
44
|
"publishConfig": {
|
|
45
45
|
"access": "public"
|
|
46
46
|
},
|
|
47
|
-
"scripts": {
|
|
48
|
-
"dev": "vite build --watch",
|
|
49
|
-
"build": "vite build && pnpm run build:types && pnpm run build:styles",
|
|
50
|
-
"build:types": "tsc -p tsconfig.build.json",
|
|
51
|
-
"build:styles": "sass src/styles/index.scss dist/style.css --style=expanded --no-source-map",
|
|
52
|
-
"typecheck": "tsc -p tsconfig.json && tsc -p tsconfig.test.json",
|
|
53
|
-
"test": "vitest run",
|
|
54
|
-
"test:watch": "vitest",
|
|
55
|
-
"prepublishOnly": "pnpm build"
|
|
56
|
-
},
|
|
57
47
|
"dependencies": {
|
|
58
48
|
"@floating-ui/dom": "^1.6.0",
|
|
59
49
|
"@tiptap/extension-bubble-menu": "^3.30.4",
|
|
@@ -83,5 +73,14 @@
|
|
|
83
73
|
"peerDependencies": {
|
|
84
74
|
"@tiptap/core": "^3.30.4",
|
|
85
75
|
"@tiptap/pm": "^3.30.4"
|
|
76
|
+
},
|
|
77
|
+
"scripts": {
|
|
78
|
+
"dev": "vite build --watch",
|
|
79
|
+
"build": "vite build && pnpm run build:types && pnpm run build:styles",
|
|
80
|
+
"build:types": "tsc -p tsconfig.build.json",
|
|
81
|
+
"build:styles": "sass src/styles/index.scss dist/style.css --style=expanded --no-source-map",
|
|
82
|
+
"typecheck": "tsc -p tsconfig.json && tsc -p tsconfig.test.json",
|
|
83
|
+
"test": "vitest run",
|
|
84
|
+
"test:watch": "vitest"
|
|
86
85
|
}
|
|
87
|
-
}
|
|
86
|
+
}
|