@akairos/myno 0.3.2 → 0.4.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.
Files changed (77) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/README.md +14 -0
  3. package/dist/.vite/manifest.json +46 -46
  4. package/dist/assets/image-markdown-B9h5B2rb.js +1265 -0
  5. package/dist/assets/image-markdown-D_KxLndJ.js +1265 -0
  6. package/dist/assets/image-markdown-DjLPX8Cn.js +1265 -0
  7. package/dist/assets/index-8AqD83H1.js +1 -0
  8. package/dist/assets/index-B09gSE-P.js +1 -0
  9. package/dist/assets/index-B4ecS-cF.js +1 -0
  10. package/dist/assets/index-B5QirwlE.js +1 -0
  11. package/dist/assets/index-BADrVn75.js +1 -0
  12. package/dist/assets/index-BCHnk3-y.js +1 -0
  13. package/dist/assets/index-BDkwyFzW.js +1 -0
  14. package/dist/assets/index-BLsUt-zA.js +13 -0
  15. package/dist/assets/index-BTIQZeYj.js +1 -0
  16. package/dist/assets/index-BTretno4.js +1 -0
  17. package/dist/assets/index-BXlZZMOz.js +1 -0
  18. package/dist/assets/index-Bd0I8kF1.js +1 -0
  19. package/dist/assets/index-BfO3YJzD.js +1 -0
  20. package/dist/assets/index-BhUr-B6E.js +1 -0
  21. package/dist/assets/index-Bvh2Wgzo.js +1 -0
  22. package/dist/assets/index-C-7U-6v_.js +1 -0
  23. package/dist/assets/index-C8MZF2M1.js +1 -0
  24. package/dist/assets/index-CDQ6fPsF.js +7 -0
  25. package/dist/assets/index-CERUTt28.js +1 -0
  26. package/dist/assets/index-CHAJKy6Z.js +1 -0
  27. package/dist/assets/index-CJI0zg2K.js +6 -0
  28. package/dist/assets/index-CLXxLVkb.js +1 -0
  29. package/dist/assets/index-CMbXJhMt.js +1 -0
  30. package/dist/assets/index-COuMfdWH.js +3 -0
  31. package/dist/assets/index-CT1Zmf0B.js +2 -0
  32. package/dist/assets/index-C_mIGN7h.js +1 -0
  33. package/dist/assets/index-Cgs3alSt.js +2 -0
  34. package/dist/assets/index-Cl8ck_yS.js +1 -0
  35. package/dist/assets/index-Clh0l7tA.js +6 -0
  36. package/dist/assets/index-Clsl5-o0.js +1 -0
  37. package/dist/assets/index-CoD6FnDs.js +1 -0
  38. package/dist/assets/index-Cp7P_1nO.js +3 -0
  39. package/dist/assets/index-CsnJQClJ.js +1 -0
  40. package/dist/assets/index-D-v57VOj.js +1 -0
  41. package/dist/assets/index-D1q1oCbd.js +1 -0
  42. package/dist/assets/index-D4yhPgHm.js +1 -0
  43. package/dist/assets/index-D96XFM__.js +1 -0
  44. package/dist/assets/index-DHqWq6xc.js +1 -0
  45. package/dist/assets/index-DK8kmMNZ.js +1 -0
  46. package/dist/assets/index-DNMR53rb.js +1 -0
  47. package/dist/assets/index-DNTDwjMb.js +1 -0
  48. package/dist/assets/index-DTBc-iCV.js +1 -0
  49. package/dist/assets/index-DcclUA5v.js +1 -0
  50. package/dist/assets/index-DgUo7cv1.js +1 -0
  51. package/dist/assets/index-DickJnaB.js +1 -0
  52. package/dist/assets/index-DjR_s1th.js +1 -0
  53. package/dist/assets/index-Dni2u4TR.js +1 -0
  54. package/dist/assets/index-DqPLvEv8.js +1 -0
  55. package/dist/assets/index-Du_1nXQ0.js +1 -0
  56. package/dist/assets/index-DvFEir78.js +7 -0
  57. package/dist/assets/index-DyFBKBTt.js +6 -0
  58. package/dist/assets/index-DyrOw6Ys.js +2 -0
  59. package/dist/assets/index-GnzkuZjw.js +1 -0
  60. package/dist/assets/index-KmRmudm8.js +13 -0
  61. package/dist/assets/index-Qt71JNB9.js +1 -0
  62. package/dist/assets/index-VMxQT3yK.js +1 -0
  63. package/dist/assets/index-Vb_uz0jk.js +3 -0
  64. package/dist/assets/index-VyEqR7eO.js +1 -0
  65. package/dist/assets/index-XaLIcAHQ.js +7 -0
  66. package/dist/assets/index-cPhT19Rl.js +1 -0
  67. package/dist/assets/index-pGJ67V8L.js +1 -0
  68. package/dist/assets/index-tEdwQR6u.js +1 -0
  69. package/dist/assets/index-tLrnxT69.js +13 -0
  70. package/dist/editor/image-markdown.d.ts +4 -1
  71. package/dist/editor/image-markdown.d.ts.map +1 -1
  72. package/dist/editor/image-markdown.js +81 -1
  73. package/dist/editor/image-markdown.js.map +1 -1
  74. package/dist/editor-export.js +1 -1
  75. package/dist/src/studio/studio.html +1 -1
  76. package/dist/studio.js +127 -129
  77. package/package.json +1 -1
@@ -1,14 +1,94 @@
1
1
  import { $remark } from "@milkdown/kit/utils";
2
+ import { imageBlockSchema } from "@milkdown/kit/component/image-block";
3
+ function descriptiveAlt(alt) {
4
+ return typeof alt === "string" && !!alt.length && Number.isNaN(Number(alt));
5
+ }
6
+ /** 解析和保存共用可逆的两位小数范围,拒绝科学计数法与舍入为零的比例。 */
7
+ function encodedImageRatio(ratio) {
8
+ if (!Number.isFinite(ratio) || ratio <= 0)
9
+ return null;
10
+ const encoded = ratio.toFixed(2);
11
+ return /^(?:0|[1-9]\d*)\.\d{2}$/.test(encoded) && Number(encoded) > 0 ? encoded : null;
12
+ }
13
+ function imageRatioComment(node) {
14
+ const html = node.type === "html" ? node : node.type === "paragraph" && node.children?.length === 1 && node.children[0]?.type === "html" ? node.children[0] : null;
15
+ const match = /^<!-- myno-image-ratio:v1 ((?:0|[1-9]\d*)\.\d{2}) -->$/.exec(html?.value ?? "");
16
+ if (!match)
17
+ return null;
18
+ const ratio = Number(match[1]);
19
+ return ratio !== 1 && encodedImageRatio(ratio) === match[1] ? ratio : null;
20
+ }
2
21
  /** remark 用 null 表示缺少 title,Milkdown 7.21 的图片属性只接受字符串。 */
3
22
  export function remarkImageTitles() {
4
23
  return (tree) => {
5
24
  const visit = (node) => {
6
25
  if ((node.type === "image" || node.type === "image-block") && node.title == null)
7
26
  node.title = "";
27
+ const children = node.children;
28
+ if (children)
29
+ for (let index = 0; index < children.length - 1; index += 1) {
30
+ const ratio = imageRatioComment(children[index]);
31
+ const next = children[index + 1];
32
+ const image = next.type === "image-block" ? next : next.type === "paragraph" && next.children?.length === 1 && next.children[0]?.type === "image" ? next.children[0] : null;
33
+ // 只消费相邻独立描述图的专用标记,不跨正文或按 URL 恢复属性。
34
+ if (ratio === null || !image || !descriptiveAlt(image.alt))
35
+ continue;
36
+ children.splice(index, 2, { ...image, type: "image-block", mynoImageRatio: ratio });
37
+ }
8
38
  node.children?.forEach(visit);
9
39
  };
10
40
  visit(tree);
11
41
  };
12
42
  }
13
- export const imageMarkdownPlugins = $remark("myno-image-titles", () => remarkImageTitles);
43
+ const imageDescriptionSchema = imageBlockSchema.extendSchema(previous => ctx => {
44
+ const schema = previous(ctx);
45
+ return {
46
+ ...schema,
47
+ attrs: { ...schema.attrs, alt: { default: null, validate: "string|null" } },
48
+ parseMarkdown: {
49
+ ...schema.parseMarkdown,
50
+ runner: (state, node, type) => {
51
+ const alt = descriptiveAlt(node.alt) ? node.alt : null;
52
+ let ratio = alt === null ? Number(node.alt || 1) : Number(node.mynoImageRatio ?? 1);
53
+ if (Number.isNaN(ratio) || ratio === 0)
54
+ ratio = 1;
55
+ state.addNode(type, { src: node.url, caption: node.title ?? "", ratio, alt });
56
+ },
57
+ },
58
+ parseDOM: schema.parseDOM?.map(rule => ({
59
+ ...rule,
60
+ getAttrs: (dom) => {
61
+ const attrs = rule.getAttrs?.(dom);
62
+ return attrs === false ? false : { ...attrs, alt: descriptiveAlt(dom.getAttribute("alt")) ? dom.getAttribute("alt") : null };
63
+ },
64
+ })),
65
+ toDOM: node => {
66
+ const { alt, ...attrs } = node.attrs;
67
+ if (alt === null)
68
+ return ["img", { "data-type": "image-block", ...attrs }];
69
+ return ["img", { "data-type": "image-block", ...attrs, alt, title: attrs.caption, ...(attrs.ratio === 1 ? { ratio: undefined } : {}) }];
70
+ },
71
+ toMarkdown: {
72
+ ...schema.toMarkdown,
73
+ runner: (state, node) => {
74
+ if (node.attrs.alt === null)
75
+ return schema.toMarkdown.runner(state, node);
76
+ const ratio = Number(node.attrs.ratio);
77
+ if (!Number.isFinite(ratio) || ratio <= 0)
78
+ throw new RangeError("图片缩放比例必须为有限正数");
79
+ const encoded = encodedImageRatio(ratio);
80
+ if (encoded === null)
81
+ throw new RangeError("图片缩放比例无法保存为有效两位小数");
82
+ if (encoded !== "1.00")
83
+ state.addNode("html", undefined, `<!-- myno-image-ratio:v1 ${encoded} -->`);
84
+ state.openNode("paragraph");
85
+ state.addNode("image", undefined, undefined, { title: node.attrs.caption, url: node.attrs.src, alt: node.attrs.alt });
86
+ state.closeNode();
87
+ },
88
+ },
89
+ };
90
+ });
91
+ export const imageMarkdownPlugins = [
92
+ $remark("myno-image-titles", () => remarkImageTitles), imageBlockSchema, imageDescriptionSchema,
93
+ ].flat();
14
94
  //# sourceMappingURL=image-markdown.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"image-markdown.js","sourceRoot":"","sources":["../../src/editor/image-markdown.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAQ9C,0DAA0D;AAC1D,MAAM,UAAU,iBAAiB;IAC/B,OAAO,CAAC,IAAkB,EAAE,EAAE;QAC5B,MAAM,KAAK,GAAG,CAAC,IAAkB,EAAE,EAAE;YACnC,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,IAAI,KAAK,aAAa,CAAC,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI;gBAAE,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;YAClG,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC,CAAC;QACF,KAAK,CAAC,IAAI,CAAC,CAAC;IACd,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAG,OAAO,CAAC,mBAAmB,EAAE,GAAG,EAAE,CAAC,iBAAiB,CAAC,CAAC"}
1
+ {"version":3,"file":"image-markdown.js","sourceRoot":"","sources":["../../src/editor/image-markdown.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- import{E as c,r as m,d,c as l,g as u,a as _,i as g,b as w,e as f,f as h,h as C}from"./assets/image-markdown-flIFnZQz.js";async function E(){const t=window.__ZZHUB_WECHAT_PAYLOAD__,s=c.make().config(e=>{e.set(m,document.getElementById("editor-host")),e.set(d,t.markdown)}).use(l).use(u).use(_()).use(g);try{await s.create();const e=new DOMParser().parseFromString(s.action(w()),"text/html");for(const n of e.querySelectorAll("img")){const r=n.getAttribute("src")||"";if(r&&!/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i.test(r)){const o=new URL(r,t.assetBaseUrl);n.src=o.protocol==="file:"?decodeURIComponent(o.pathname):o.href}}const a=e.body.innerHTML,i=await f({semanticHtml:a,baseCss:C,customCss:[h(t.syntaxPresets??{}),t.customCss].filter(Boolean).join(`
1
+ import{E as c,r as m,d,c as l,g as u,a as _,i as g,b as w,e as f,f as h,h as C}from"./assets/image-markdown-B9h5B2rb.js";async function E(){const t=window.__ZZHUB_WECHAT_PAYLOAD__,s=c.make().config(e=>{e.set(m,document.getElementById("editor-host")),e.set(d,t.markdown)}).use(l).use(u).use(_()).use(g);try{await s.create();const e=new DOMParser().parseFromString(s.action(w()),"text/html");for(const n of e.querySelectorAll("img")){const r=n.getAttribute("src")||"";if(r&&!/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i.test(r)){const o=new URL(r,t.assetBaseUrl);n.src=o.protocol==="file:"?decodeURIComponent(o.pathname):o.href}}const a=e.body.innerHTML,i=await f({semanticHtml:a,baseCss:C,customCss:[h(t.syntaxPresets??{}),t.customCss].filter(Boolean).join(`
2
2
 
3
3
  `),structure:t.structure,editorVars:t.editorVars,theme:t.exportTheme});window.__ZZHUB_SET_RESULT__({status:"success",html:i,semanticHtml:a})}catch(e){window.__ZZHUB_SET_RESULT__({status:"error",error:e instanceof Error?e.message:String(e)})}finally{await s.destroy()}}E().catch(t=>window.__ZZHUB_SET_RESULT__({status:"error",error:String(t)}));
@@ -5,7 +5,7 @@
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1">
6
6
  <title>myno — 微信公众号排版工作台</title>
7
7
  <script type="module" crossorigin src="../../studio.js"></script>
8
- <link rel="modulepreload" crossorigin href="../../assets/image-markdown-flIFnZQz.js">
8
+ <link rel="modulepreload" crossorigin href="../../assets/image-markdown-B9h5B2rb.js">
9
9
  <link rel="stylesheet" crossorigin href="../../assets/style-Dbq6kayK.css">
10
10
  </head>
11
11
  <body>