@akairos/myno 0.1.4 → 0.2.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.
@@ -210,15 +210,15 @@ export const articleInlineToolbar = (builder) => {
210
210
  * 常用组件直接出现在 / 斜杠菜单中,插入后由 @akairos/milkdown-article-plugins 深度解析和保存。
211
211
  */
212
212
  export const articleBlockMenu = (builder) => {
213
- const group = builder.addGroup("article", "文章专属组件");
213
+ const group = builder.addGroup("article", "文章组件");
214
214
  const blocks = [
215
- ["intro", "导读卡片 (INTRO)", "> [!INTRO] 导读\n> 在此处填写文章核心观点或背景提炼。"],
216
- ["cta", "文末互动 (CTA)", "> [!CTA] 交流与讨论\n> 欢迎在评论区分享你的经验与思考。"],
217
- ["note", "提示卡片 (NOTE)", "> [!NOTE]\n> 请填写背景上下文或参考提示。"],
218
- ["tip", "建议卡片 (TIP)", "> [!TIP]\n> 请填写技巧建议或最佳实践。"],
219
- ["important", "重点卡片 (IMPORTANT)", "> [!IMPORTANT]\n> 请填写核心关键点。"],
220
- ["warning", "警告卡片 (WARNING)", "> [!WARNING]\n> 请填写需特别留意的风险事项。"],
221
- ["caution", "注意卡片 (CAUTION)", "> [!CAUTION]\n> 请填写潜在危险或破坏性操作提示。"],
215
+ ["intro", "导读", "> [!INTRO] 导读\n> 请填写导读。"],
216
+ ["cta", "文末互动", "> [!CTA] 交流与反馈\n> 请填写互动内容。"],
217
+ ["note", "提示", "> [!NOTE]\n> 请填写提示内容。"],
218
+ ["tip", "建议", "> [!TIP]\n> 请填写建议内容。"],
219
+ ["important", "重点", "> [!IMPORTANT]\n> 请填写重点内容。"],
220
+ ["warning", "警告", "> [!WARNING]\n> 请填写警告内容。"],
221
+ ["caution", "注意", "> [!CAUTION]\n> 请填写注意内容。"],
222
222
  ];
223
223
  for (const [key, label, markdown] of blocks) {
224
224
  group.addItem(key, {
@@ -1 +1 @@
1
- {"version":3,"file":"article-menu.js","sourceRoot":"","sources":["../../src/editor/article-menu.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"article-menu.js","sourceRoot":"","sources":["../../src/editor/article-menu.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { Plugin } from "@milkdown/kit/prose/state";
2
+ /** 将内嵌图片转成文件,复用编辑器现有上传入口。 */
3
+ export declare function dataImageFile(src: string): Promise<File>;
4
+ /**
5
+ * 扫描正文中的 base64 图片节点(粘贴或旧正文遗留),逐个交给调用方上传并回写 URL。
6
+ * 上传方式完全由调用方注入,核心库不含任何图床厂商逻辑。
7
+ */
8
+ export declare function createDataImageUploadPlugin(upload: (src: string) => Promise<string>, isReadonly: () => boolean): Plugin<any>;
9
+ //# sourceMappingURL=image-upload.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"image-upload.d.ts","sourceRoot":"","sources":["../../src/editor/image-upload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AAEnD,6BAA6B;AAC7B,wBAAsB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAM9D;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,MAAM,OAAO,eAoD9G"}
@@ -0,0 +1,65 @@
1
+ import { Plugin } from "@milkdown/kit/prose/state";
2
+ /** 将内嵌图片转成文件,复用编辑器现有上传入口。 */
3
+ export async function dataImageFile(src) {
4
+ const mime = /^data:(image\/(?:png|jpeg|gif|webp));base64,/i.exec(src)?.[1]?.toLowerCase();
5
+ if (!mime)
6
+ throw new Error("仅支持 PNG、JPEG、GIF、WebP 格式的 Base64 图片");
7
+ const blob = await (await fetch(src)).blob();
8
+ return new File([blob], `pasted-image.${mime.split("/")[1]}`, { type: mime });
9
+ }
10
+ /**
11
+ * 扫描正文中的 base64 图片节点(粘贴或旧正文遗留),逐个交给调用方上传并回写 URL。
12
+ * 上传方式完全由调用方注入,核心库不含任何图床厂商逻辑。
13
+ */
14
+ export function createDataImageUploadPlugin(upload, isReadonly) {
15
+ return new Plugin({
16
+ view(view) {
17
+ // 同一图片只上传一次;失败后保留原图,移除再插入或重开文档可重试。
18
+ const attempted = new Set();
19
+ const pending = new Set();
20
+ let destroyed = false;
21
+ function scan() {
22
+ if (destroyed || isReadonly() || !view.editable)
23
+ return;
24
+ const sources = new Set();
25
+ view.state.doc.descendants((node) => {
26
+ if (["image", "image-block"].includes(node.type.name) && /^data:image\//i.test(node.attrs.src))
27
+ sources.add(node.attrs.src);
28
+ });
29
+ for (const src of attempted) {
30
+ if (!sources.has(src))
31
+ attempted.delete(src);
32
+ }
33
+ for (const src of sources) {
34
+ if (attempted.has(src) || pending.has(src))
35
+ continue;
36
+ attempted.add(src);
37
+ pending.add(src);
38
+ void upload(src).then((url) => {
39
+ if (destroyed || isReadonly() || !view.editable)
40
+ return;
41
+ // 使用最新位置和属性,避免异步上传覆盖后续编辑或复活已删除图片。
42
+ const tr = view.state.tr;
43
+ view.state.doc.descendants((node, pos) => {
44
+ if (["image", "image-block"].includes(node.type.name) && node.attrs.src === src)
45
+ tr.setNodeMarkup(pos, undefined, { ...node.attrs, src: url });
46
+ });
47
+ if (tr.docChanged)
48
+ view.dispatch(tr);
49
+ }).catch(() => {
50
+ // 上传入口已提示错误,保留正文中的原图供重试。
51
+ }).finally(() => pending.delete(src));
52
+ }
53
+ }
54
+ queueMicrotask(scan);
55
+ return {
56
+ update(_view, previousState) {
57
+ if (previousState.doc !== view.state.doc)
58
+ scan();
59
+ },
60
+ destroy() { destroyed = true; },
61
+ };
62
+ },
63
+ });
64
+ }
65
+ //# sourceMappingURL=image-upload.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"image-upload.js","sourceRoot":"","sources":["../../src/editor/image-upload.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
1
  export * from "./myno-editor";
2
2
  export * from "./article-menu";
3
+ export * from "./image-upload";
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/editor/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/editor/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC"}
@@ -1,3 +1,4 @@
1
1
  export * from "./myno-editor";
2
2
  export * from "./article-menu";
3
+ export * from "./image-upload";
3
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/editor/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/editor/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC"}
@@ -1,4 +1,6 @@
1
1
  import { Crepe } from "@milkdown/crepe";
2
+ import type { CrepeConfig } from "@milkdown/crepe";
3
+ import type { MilkdownPlugin } from "@milkdown/kit/ctx";
2
4
  import "@milkdown/crepe/theme/common/style.css";
3
5
  import "@milkdown/crepe/theme/frame.css";
4
6
  import "@akairos/milkdown-article-style/tokens-default.css";
@@ -9,6 +11,14 @@ export interface MynoEditorOptions {
9
11
  readonly?: boolean;
10
12
  placeholder?: string;
11
13
  onMarkdownChange?: (markdown: string) => void;
14
+ /** 图片上传由调用方注入(COS/本地/自建均可),返回最终 URL;不传则图片保持原样。 */
15
+ uploadImage?: (file: File) => Promise<string>;
16
+ /** 追加的 milkdown 插件(如 emoji、frontmatter),在文章插件之后加载。 */
17
+ plugins?: MilkdownPlugin[];
18
+ /** 覆盖/追加 Crepe featureConfigs,键冲突时覆盖内置默认。 */
19
+ featureConfigs?: CrepeConfig["featureConfigs"];
20
+ /** create 完成后的逃生舱(可拿到 Crepe 实例做进一步定制)。 */
21
+ onCreated?: (crepe: Crepe) => void | Promise<void>;
12
22
  }
13
23
  export declare class MynoEditor {
14
24
  private crepe;
@@ -1 +1 @@
1
- {"version":3,"file":"myno-editor.d.ts","sourceRoot":"","sources":["../../src/editor/myno-editor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAUxC,OAAO,wCAAwC,CAAC;AAChD,OAAO,iCAAiC,CAAC;AACzC,OAAO,oDAAoD,CAAC;AAC5D,OAAO,6CAA6C,CAAC;AAErD,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,WAAW,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;CAC/C;AAED,qBAAa,UAAU;IACrB,OAAO,CAAC,KAAK,CAAsB;IACnC,OAAO,CAAC,OAAO,CAAoB;IACnC,OAAO,CAAC,WAAW,CAAS;gBAEhB,OAAO,EAAE,iBAAiB;IAIhC,MAAM,IAAI,OAAO,CAAC,KAAK,CAAC;IAuD9B,WAAW,IAAI,MAAM;IAKrB,WAAW,CAAC,QAAQ,EAAE,MAAM;IAc5B,WAAW,CAAC,QAAQ,EAAE,OAAO;IAI7B,QAAQ,IAAI,KAAK,GAAG,IAAI;IAIlB,OAAO;CAOd"}
1
+ {"version":3,"file":"myno-editor.d.ts","sourceRoot":"","sources":["../../src/editor/myno-editor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAaxD,OAAO,wCAAwC,CAAC;AAChD,OAAO,iCAAiC,CAAC;AACzC,OAAO,oDAAoD,CAAC;AAC5D,OAAO,6CAA6C,CAAC;AAErD,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,WAAW,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,kDAAkD;IAClD,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAC9C,sDAAsD;IACtD,OAAO,CAAC,EAAE,cAAc,EAAE,CAAC;IAC3B,6CAA6C;IAC7C,cAAc,CAAC,EAAE,WAAW,CAAC,gBAAgB,CAAC,CAAC;IAC/C,0CAA0C;IAC1C,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACpD;AAED,qBAAa,UAAU;IACrB,OAAO,CAAC,KAAK,CAAsB;IACnC,OAAO,CAAC,OAAO,CAAoB;IACnC,OAAO,CAAC,WAAW,CAAS;gBAEhB,OAAO,EAAE,iBAAiB;IAIhC,MAAM,IAAI,OAAO,CAAC,KAAK,CAAC;IAyE9B,WAAW,IAAI,MAAM;IAKrB,WAAW,CAAC,QAAQ,EAAE,MAAM;IAc5B,WAAW,CAAC,QAAQ,EAAE,OAAO;IAI7B,QAAQ,IAAI,KAAK,GAAG,IAAI;IAIlB,OAAO;CAOd"}
@@ -1,6 +1,9 @@
1
1
  import { Crepe } from "@milkdown/crepe";
2
+ import { uploadConfig } from "@milkdown/kit/plugin/upload";
3
+ import { $prose } from "@milkdown/kit/utils";
2
4
  import { getCombinedMilkdownPlugins } from "@akairos/milkdown-article-plugins";
3
5
  import { articleBlockMenu, articleInlineToolbar, articleInlineTopBar, getEditorView, getParser, } from "./article-menu";
6
+ import { createDataImageUploadPlugin, dataImageFile } from "./image-upload";
4
7
  import "@milkdown/crepe/theme/common/style.css";
5
8
  import "@milkdown/crepe/theme/frame.css";
6
9
  import "@akairos/milkdown-article-style/tokens-default.css";
@@ -13,7 +16,7 @@ export class MynoEditor {
13
16
  this.options = options;
14
17
  }
15
18
  async create() {
16
- const { root, defaultValue = "", readonly = false, placeholder = "输入内容,或输入 / 快速插入文章组件..." } = this.options;
19
+ const { root, defaultValue = "", readonly = false, placeholder = "输入内容,或输入 / 快速插入文章组件...", uploadImage, plugins, featureConfigs, onCreated } = this.options;
17
20
  const crepe = new Crepe({
18
21
  root,
19
22
  defaultValue,
@@ -39,9 +42,18 @@ export class MynoEditor {
39
42
  text: placeholder,
40
43
  mode: "doc",
41
44
  },
45
+ ...(uploadImage ? { [Crepe.Feature.ImageBlock]: { onUpload: uploadImage } } : {}),
46
+ ...featureConfigs,
42
47
  },
43
48
  });
44
49
  crepe.editor.use(getCombinedMilkdownPlugins());
50
+ for (const plugin of plugins ?? []) {
51
+ crepe.editor.use(plugin);
52
+ }
53
+ if (uploadImage) {
54
+ // 粘贴/旧正文里的 base64 图片统一走调用方的上传入口回写 URL
55
+ crepe.editor.use($prose(() => createDataImageUploadPlugin(async (src) => uploadImage(await dataImageFile(src)), () => false)));
56
+ }
45
57
  crepe.on((listener) => {
46
58
  listener.markdownUpdated((_ctx, markdown) => {
47
59
  if (!this.isDestroyed && this.options.onMarkdownChange) {
@@ -50,7 +62,14 @@ export class MynoEditor {
50
62
  });
51
63
  });
52
64
  await crepe.create();
65
+ if (uploadImage) {
66
+ // 允许从剪贴板 HTML 中携带的图片文件触发上传
67
+ crepe.editor.action((ctx) => {
68
+ ctx.update(uploadConfig.key, (prev) => ({ ...prev, enableHtmlFileUploader: true }));
69
+ });
70
+ }
53
71
  crepe.setReadonly(readonly);
72
+ await onCreated?.(crepe);
54
73
  crepe.editor.action((ctx) => {
55
74
  const view = getEditorView(ctx);
56
75
  if (view?.dom) {
@@ -1 +1 @@
1
- {"version":3,"file":"myno-editor.js","sourceRoot":"","sources":["../../src/editor/myno-editor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"myno-editor.js","sourceRoot":"","sources":["../../src/editor/myno-editor.ts"],"names":[],"mappings":"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"}