@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.
- package/CHANGELOG.md +10 -0
- package/README.md +14 -0
- package/dist/.vite/manifest.json +46 -46
- package/dist/assets/image-markdown-B9h5B2rb.js +1265 -0
- package/dist/assets/image-markdown-D_KxLndJ.js +1265 -0
- package/dist/assets/image-markdown-DjLPX8Cn.js +1265 -0
- package/dist/assets/index-8AqD83H1.js +1 -0
- package/dist/assets/index-B09gSE-P.js +1 -0
- package/dist/assets/index-B4ecS-cF.js +1 -0
- package/dist/assets/index-B5QirwlE.js +1 -0
- package/dist/assets/index-BADrVn75.js +1 -0
- package/dist/assets/index-BCHnk3-y.js +1 -0
- package/dist/assets/index-BDkwyFzW.js +1 -0
- package/dist/assets/index-BLsUt-zA.js +13 -0
- package/dist/assets/index-BTIQZeYj.js +1 -0
- package/dist/assets/index-BTretno4.js +1 -0
- package/dist/assets/index-BXlZZMOz.js +1 -0
- package/dist/assets/index-Bd0I8kF1.js +1 -0
- package/dist/assets/index-BfO3YJzD.js +1 -0
- package/dist/assets/index-BhUr-B6E.js +1 -0
- package/dist/assets/index-Bvh2Wgzo.js +1 -0
- package/dist/assets/index-C-7U-6v_.js +1 -0
- package/dist/assets/index-C8MZF2M1.js +1 -0
- package/dist/assets/index-CDQ6fPsF.js +7 -0
- package/dist/assets/index-CERUTt28.js +1 -0
- package/dist/assets/index-CHAJKy6Z.js +1 -0
- package/dist/assets/index-CJI0zg2K.js +6 -0
- package/dist/assets/index-CLXxLVkb.js +1 -0
- package/dist/assets/index-CMbXJhMt.js +1 -0
- package/dist/assets/index-COuMfdWH.js +3 -0
- package/dist/assets/index-CT1Zmf0B.js +2 -0
- package/dist/assets/index-C_mIGN7h.js +1 -0
- package/dist/assets/index-Cgs3alSt.js +2 -0
- package/dist/assets/index-Cl8ck_yS.js +1 -0
- package/dist/assets/index-Clh0l7tA.js +6 -0
- package/dist/assets/index-Clsl5-o0.js +1 -0
- package/dist/assets/index-CoD6FnDs.js +1 -0
- package/dist/assets/index-Cp7P_1nO.js +3 -0
- package/dist/assets/index-CsnJQClJ.js +1 -0
- package/dist/assets/index-D-v57VOj.js +1 -0
- package/dist/assets/index-D1q1oCbd.js +1 -0
- package/dist/assets/index-D4yhPgHm.js +1 -0
- package/dist/assets/index-D96XFM__.js +1 -0
- package/dist/assets/index-DHqWq6xc.js +1 -0
- package/dist/assets/index-DK8kmMNZ.js +1 -0
- package/dist/assets/index-DNMR53rb.js +1 -0
- package/dist/assets/index-DNTDwjMb.js +1 -0
- package/dist/assets/index-DTBc-iCV.js +1 -0
- package/dist/assets/index-DcclUA5v.js +1 -0
- package/dist/assets/index-DgUo7cv1.js +1 -0
- package/dist/assets/index-DickJnaB.js +1 -0
- package/dist/assets/index-DjR_s1th.js +1 -0
- package/dist/assets/index-Dni2u4TR.js +1 -0
- package/dist/assets/index-DqPLvEv8.js +1 -0
- package/dist/assets/index-Du_1nXQ0.js +1 -0
- package/dist/assets/index-DvFEir78.js +7 -0
- package/dist/assets/index-DyFBKBTt.js +6 -0
- package/dist/assets/index-DyrOw6Ys.js +2 -0
- package/dist/assets/index-GnzkuZjw.js +1 -0
- package/dist/assets/index-KmRmudm8.js +13 -0
- package/dist/assets/index-Qt71JNB9.js +1 -0
- package/dist/assets/index-VMxQT3yK.js +1 -0
- package/dist/assets/index-Vb_uz0jk.js +3 -0
- package/dist/assets/index-VyEqR7eO.js +1 -0
- package/dist/assets/index-XaLIcAHQ.js +7 -0
- package/dist/assets/index-cPhT19Rl.js +1 -0
- package/dist/assets/index-pGJ67V8L.js +1 -0
- package/dist/assets/index-tEdwQR6u.js +1 -0
- package/dist/assets/index-tLrnxT69.js +13 -0
- package/dist/editor/image-markdown.d.ts +4 -1
- package/dist/editor/image-markdown.d.ts.map +1 -1
- package/dist/editor/image-markdown.js +81 -1
- package/dist/editor/image-markdown.js.map +1 -1
- package/dist/editor-export.js +1 -1
- package/dist/src/studio/studio.html +1 -1
- package/dist/studio.js +127 -129
- 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
|
-
|
|
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;
|
|
1
|
+
{"version":3,"file":"image-markdown.js","sourceRoot":"","sources":["../../src/editor/image-markdown.ts"],"names":[],"mappings":"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"}
|
package/dist/editor-export.js
CHANGED
|
@@ -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-
|
|
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-
|
|
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>
|