@akairos/myno 0.4.0 → 0.4.2
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 +1 -1
- package/dist/.vite/manifest.json +47 -47
- package/dist/assets/image-markdown-B9h5B2rb.js +1265 -0
- package/dist/assets/image-markdown-UUt8VOuv.js +1278 -0
- package/dist/assets/index-7jQp7Dfj.js +1 -0
- package/dist/assets/index-8AqD83H1.js +1 -0
- package/dist/assets/index-B09gSE-P.js +1 -0
- package/dist/assets/index-B1B2yHb0.js +2 -0
- package/dist/assets/index-B5QirwlE.js +1 -0
- package/dist/assets/index-B8HzHWs6.js +13 -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-BgIYltX3.js +1 -0
- package/dist/assets/index-BqAKWM_C.js +1 -0
- package/dist/assets/index-BwO9mZ5e.js +1 -0
- package/dist/assets/index-C-7U-6v_.js +1 -0
- package/dist/assets/index-C4vlEueI.js +1 -0
- package/dist/assets/index-C5j_lhEk.js +1 -0
- package/dist/assets/index-CCIz_Agf.js +6 -0
- package/dist/assets/index-CHyCraUd.js +1 -0
- package/dist/assets/index-CJI0zg2K.js +6 -0
- package/dist/assets/index-CLA2fxVj.js +7 -0
- package/dist/assets/index-CLXxLVkb.js +1 -0
- package/dist/assets/index-CMbXJhMt.js +1 -0
- package/dist/assets/index-COuN78pK.js +1 -0
- package/dist/assets/index-CYJj6-ty.js +1 -0
- package/dist/assets/index-CZGom6ql.js +1 -0
- package/dist/assets/index-Chzz1tnP.js +1 -0
- package/dist/assets/index-CigHLyGK.js +1 -0
- package/dist/assets/index-Clsl5-o0.js +1 -0
- package/dist/assets/index-Cp7P_1nO.js +3 -0
- package/dist/assets/index-Cy9p7Kpp.js +1 -0
- package/dist/assets/index-D1q1oCbd.js +1 -0
- package/dist/assets/index-DZNA91ph.js +1 -0
- package/dist/assets/index-DcclUA5v.js +1 -0
- package/dist/assets/index-DjR_s1th.js +1 -0
- package/dist/assets/index-DrgVLtPZ.js +1 -0
- package/dist/assets/index-DyrOw6Ys.js +2 -0
- package/dist/assets/index-GnzkuZjw.js +1 -0
- package/dist/assets/index-VMxQT3yK.js +1 -0
- package/dist/assets/index-VyEqR7eO.js +1 -0
- package/dist/assets/index-XaLIcAHQ.js +7 -0
- package/dist/assets/index-hsoE5Vf8.js +3 -0
- package/dist/assets/index-iIrMNdPM.js +1 -0
- package/dist/assets/style-CKAHvB_T.css +1 -0
- package/dist/editor/image-markdown.d.ts.map +1 -1
- package/dist/editor/image-markdown.js +10 -4
- package/dist/editor/image-markdown.js.map +1 -1
- package/dist/editor-export.js +1 -1
- package/dist/src/studio/studio.html +2 -2
- package/dist/studio.js +3 -3
- package/dist/styles/article.css +15 -2
- package/package.json +1 -1
|
@@ -3,13 +3,20 @@ import { imageBlockSchema } from "@milkdown/kit/component/image-block";
|
|
|
3
3
|
function descriptiveAlt(alt) {
|
|
4
4
|
return typeof alt === "string" && !!alt.length && Number.isNaN(Number(alt));
|
|
5
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
|
+
}
|
|
6
13
|
function imageRatioComment(node) {
|
|
7
14
|
const html = node.type === "html" ? node : node.type === "paragraph" && node.children?.length === 1 && node.children[0]?.type === "html" ? node.children[0] : null;
|
|
8
15
|
const match = /^<!-- myno-image-ratio:v1 ((?:0|[1-9]\d*)\.\d{2}) -->$/.exec(html?.value ?? "");
|
|
9
16
|
if (!match)
|
|
10
17
|
return null;
|
|
11
18
|
const ratio = Number(match[1]);
|
|
12
|
-
return
|
|
19
|
+
return ratio !== 1 && encodedImageRatio(ratio) === match[1] ? ratio : null;
|
|
13
20
|
}
|
|
14
21
|
/** remark 用 null 表示缺少 title,Milkdown 7.21 的图片属性只接受字符串。 */
|
|
15
22
|
export function remarkImageTitles() {
|
|
@@ -27,7 +34,6 @@ export function remarkImageTitles() {
|
|
|
27
34
|
if (ratio === null || !image || !descriptiveAlt(image.alt))
|
|
28
35
|
continue;
|
|
29
36
|
children.splice(index, 2, { ...image, type: "image-block", mynoImageRatio: ratio });
|
|
30
|
-
index -= 1;
|
|
31
37
|
}
|
|
32
38
|
node.children?.forEach(visit);
|
|
33
39
|
};
|
|
@@ -70,8 +76,8 @@ const imageDescriptionSchema = imageBlockSchema.extendSchema(previous => ctx =>
|
|
|
70
76
|
const ratio = Number(node.attrs.ratio);
|
|
71
77
|
if (!Number.isFinite(ratio) || ratio <= 0)
|
|
72
78
|
throw new RangeError("图片缩放比例必须为有限正数");
|
|
73
|
-
const encoded = ratio
|
|
74
|
-
if (
|
|
79
|
+
const encoded = encodedImageRatio(ratio);
|
|
80
|
+
if (encoded === null)
|
|
75
81
|
throw new RangeError("图片缩放比例无法保存为有效两位小数");
|
|
76
82
|
if (encoded !== "1.00")
|
|
77
83
|
state.addNode("html", undefined, `<!-- myno-image-ratio:v1 ${encoded} -->`);
|
|
@@ -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;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AAWvE,SAAS,cAAc,CAAC,GAAY;IAClC,OAAO,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAkB;IAC3C,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,WAAW,IAAI,IAAI,CAAC,QAAQ,EAAE,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACnK,MAAM,KAAK,GAAG,wDAAwD,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;IAC/F,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/B,OAAO,
|
|
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-UUt8VOuv.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,8 +5,8 @@
|
|
|
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-
|
|
9
|
-
<link rel="stylesheet" crossorigin href="../../assets/style-
|
|
8
|
+
<link rel="modulepreload" crossorigin href="../../assets/image-markdown-UUt8VOuv.js">
|
|
9
|
+
<link rel="stylesheet" crossorigin href="../../assets/style-CKAHvB_T.css">
|
|
10
10
|
</head>
|
|
11
11
|
<body>
|
|
12
12
|
<!-- Header -->
|