@akairos/myno 0.4.4 → 0.4.5
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/dist/.vite/manifest.json +46 -46
- package/dist/assets/image-markdown-DgUSV7mN.js +1291 -0
- package/dist/assets/index-C4uqbD_u.js +1 -0
- package/dist/assets/index-CIbhMi1T.js +2 -0
- package/dist/assets/index-CM2dnuzg.js +1 -0
- package/dist/assets/index-CbGf0QhN.js +1 -0
- package/dist/assets/index-CgDTPwTH.js +1 -0
- package/dist/assets/index-CmJoi-qJ.js +1 -0
- package/dist/assets/index-CxJDYlea.js +1 -0
- package/dist/assets/index-D-vHwgiS.js +1 -0
- package/dist/assets/index-D6M9LgVG.js +13 -0
- package/dist/assets/index-D7i7nQv0.js +1 -0
- package/dist/assets/index-D7rOsdsO.js +1 -0
- package/dist/assets/index-DNE1CHt3.js +6 -0
- package/dist/assets/index-DObFF16u.js +1 -0
- package/dist/assets/index-DYeacVVO.js +7 -0
- package/dist/assets/index-DbTiNyEa.js +1 -0
- package/dist/assets/index-DdXc1kqk.js +1 -0
- package/dist/assets/index-Dtxlw1NF.js +1 -0
- package/dist/assets/index-DwuQO5D6.js +3 -0
- package/dist/assets/index-jQrpY4tQ.js +1 -0
- package/dist/assets/index-ntlIzpa6.js +1 -0
- package/dist/assets/index-qARAihe6.js +1 -0
- package/dist/editor/index.d.ts +1 -0
- package/dist/editor/index.d.ts.map +1 -1
- package/dist/editor/index.js +1 -0
- package/dist/editor/index.js.map +1 -1
- package/dist/editor/myno-editor.d.ts +7 -5
- package/dist/editor/myno-editor.d.ts.map +1 -1
- package/dist/editor/myno-editor.js +52 -21
- package/dist/editor/myno-editor.js.map +1 -1
- package/dist/editor/style-config-css.d.ts +14 -0
- package/dist/editor/style-config-css.d.ts.map +1 -0
- package/dist/editor/style-config-css.js +101 -0
- package/dist/editor/style-config-css.js.map +1 -0
- package/dist/editor/style-controls.d.ts +12 -0
- package/dist/editor/style-controls.d.ts.map +1 -0
- package/dist/editor/style-controls.js +197 -0
- package/dist/editor/style-controls.js.map +1 -0
- package/dist/editor-export.js +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/src/studio/studio.html +1 -1
- package/dist/studio/studio.js +1 -7
- package/dist/studio/studio.js.map +1 -1
- package/dist/studio.js +105 -90
- package/dist/style-config.d.ts +23 -0
- package/dist/style-config.d.ts.map +1 -0
- package/dist/style-config.js +58 -0
- package/dist/style-config.js.map +1 -0
- package/package.json +13 -2
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { WechatExportTheme } from "./studio/themes";
|
|
2
|
+
import type { StandaloneStyleConfig } from "./studio/config-manager";
|
|
3
|
+
import type { StylePack } from "./studio/style-packs";
|
|
4
|
+
import type { ColorPalette } from "./studio/color-palettes";
|
|
5
|
+
import type { ArticleStructure } from "./studio/wechat-renderer";
|
|
6
|
+
export { STYLE_PACKS } from "./studio/style-packs";
|
|
7
|
+
export { SYNTAX_CATEGORIES } from "./studio/syntax-presets";
|
|
8
|
+
export { COLOR_PALETTES } from "./studio/color-palettes";
|
|
9
|
+
export { parseStyleConfig, exportStyleConfigBlob } from "./studio/config-manager";
|
|
10
|
+
export type { StandaloneStyleConfig, StylePack, ColorPalette, WechatExportTheme };
|
|
11
|
+
/** 宿主只传排版数据;账号、网络与正文由宿主保管。 */
|
|
12
|
+
export interface MynoStyleConfig {
|
|
13
|
+
editorVars: Record<string, string>;
|
|
14
|
+
exportTheme: Partial<WechatExportTheme> | Record<string, string | undefined>;
|
|
15
|
+
syntaxPresets: Record<string, string>;
|
|
16
|
+
structure: ArticleStructure;
|
|
17
|
+
css: string;
|
|
18
|
+
}
|
|
19
|
+
export declare function normalizeStyleConfig(input?: Partial<MynoStyleConfig>): MynoStyleConfig;
|
|
20
|
+
export declare function brandTint(hex: string, alpha: number): string | null;
|
|
21
|
+
export declare function applyColorPalette(value: MynoStyleConfig, palette: ColorPalette): MynoStyleConfig;
|
|
22
|
+
export declare function applyStylePack(value: MynoStyleConfig, pack: StylePack): MynoStyleConfig;
|
|
23
|
+
//# sourceMappingURL=style-config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"style-config.d.ts","sourceRoot":"","sources":["../src/style-config.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAEjE,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAClF,YAAY,EAAE,qBAAqB,EAAE,SAAS,EAAE,YAAY,EAAE,iBAAiB,EAAE,CAAC;AAElF,8BAA8B;AAC9B,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,WAAW,EAAE,OAAO,CAAC,iBAAiB,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IAC7E,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,SAAS,EAAE,gBAAgB,CAAC;IAC5B,GAAG,EAAE,MAAM,CAAC;CACb;AAED,wBAAgB,oBAAoB,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,eAAe,CAYtF;AAED,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAKnE;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,YAAY,GAAG,eAAe,CAehG;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,SAAS,GAAG,eAAe,CAevF"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { getWechatPreviewTheme } from "./studio/themes";
|
|
2
|
+
export { STYLE_PACKS } from "./studio/style-packs";
|
|
3
|
+
export { SYNTAX_CATEGORIES } from "./studio/syntax-presets";
|
|
4
|
+
export { COLOR_PALETTES } from "./studio/color-palettes";
|
|
5
|
+
export { parseStyleConfig, exportStyleConfigBlob } from "./studio/config-manager";
|
|
6
|
+
export function normalizeStyleConfig(input) {
|
|
7
|
+
const theme = getWechatPreviewTheme("default", {
|
|
8
|
+
editorVars: input?.editorVars,
|
|
9
|
+
exportTheme: { footerText: "", bodyFontSize: "16px", bodyParagraphSpacing: "1.18em", ...input?.exportTheme },
|
|
10
|
+
});
|
|
11
|
+
return {
|
|
12
|
+
editorVars: { ...theme.editorVars },
|
|
13
|
+
exportTheme: { ...theme.exportTheme },
|
|
14
|
+
syntaxPresets: { ...input?.syntaxPresets },
|
|
15
|
+
structure: { ...input?.structure },
|
|
16
|
+
css: input?.css ?? "",
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
export function brandTint(hex, alpha) {
|
|
20
|
+
const match = /^#?([0-9a-f]{6})$/i.exec(hex.trim());
|
|
21
|
+
if (!match)
|
|
22
|
+
return null;
|
|
23
|
+
const value = Number.parseInt(match[1], 16);
|
|
24
|
+
return `rgba(${(value >> 16) & 255}, ${(value >> 8) & 255}, ${value & 255}, ${alpha})`;
|
|
25
|
+
}
|
|
26
|
+
export function applyColorPalette(value, palette) {
|
|
27
|
+
const colors = palette.colors;
|
|
28
|
+
return {
|
|
29
|
+
...value,
|
|
30
|
+
editorVars: {
|
|
31
|
+
...value.editorVars,
|
|
32
|
+
"--brand": colors.brand, "--text": colors.text, "--divider": colors.divider,
|
|
33
|
+
"--brand-bg": brandTint(colors.brand, 0.08), "--brand-bg-deep": brandTint(colors.brand, 0.12),
|
|
34
|
+
},
|
|
35
|
+
exportTheme: {
|
|
36
|
+
...value.exportTheme,
|
|
37
|
+
primaryColor: colors.brand, bodyColor: colors.text, h2Color: colors.h2,
|
|
38
|
+
h3Color: colors.h3, blockquoteBorderColor: colors.quote, dividerColor: colors.divider,
|
|
39
|
+
},
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
export function applyStylePack(value, pack) {
|
|
43
|
+
const theme = pack.theme;
|
|
44
|
+
const colored = applyColorPalette(value, { ...pack, category: pack.subtitle, colors: {
|
|
45
|
+
brand: theme.brandColor, text: theme.textColor, h2: theme.h2Color,
|
|
46
|
+
h3: theme.h3Color, quote: theme.quoteColor, divider: theme.dividerColor,
|
|
47
|
+
} });
|
|
48
|
+
return {
|
|
49
|
+
...colored,
|
|
50
|
+
exportTheme: {
|
|
51
|
+
...colored.exportTheme, bodyFontSize: `${theme.fontSize}px`, bodyLineHeight: theme.lineHeight,
|
|
52
|
+
bodyLetterSpacing: `${theme.letterSpacing}em`, bodyParagraphSpacing: `${theme.paragraphSpacing}em`,
|
|
53
|
+
},
|
|
54
|
+
syntaxPresets: { ...value.syntaxPresets, h2: theme.h2Preset, h3: theme.h3Preset },
|
|
55
|
+
structure: { ...value.structure, numberedHeadings: theme.numberedHeadings },
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=style-config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"style-config.js","sourceRoot":"","sources":["../src/style-config.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@akairos/myno",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.5",
|
|
4
4
|
"description": "WeChat article WYSIWYG editor & visual typography studio",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -30,6 +30,16 @@
|
|
|
30
30
|
"types": "./dist/editor/article-menu.d.ts",
|
|
31
31
|
"default": "./dist/editor/article-menu.js"
|
|
32
32
|
},
|
|
33
|
+
"./style-config": {
|
|
34
|
+
"types": "./dist/style-config.d.ts",
|
|
35
|
+
"import": "./dist/style-config.js",
|
|
36
|
+
"default": "./dist/style-config.js"
|
|
37
|
+
},
|
|
38
|
+
"./style-controls": {
|
|
39
|
+
"types": "./dist/editor/style-controls.d.ts",
|
|
40
|
+
"import": "./dist/editor/style-controls.js",
|
|
41
|
+
"default": "./dist/editor/style-controls.js"
|
|
42
|
+
},
|
|
33
43
|
"./style": "./dist/styles/index.css",
|
|
34
44
|
"./article.css": "./dist/styles/article.css",
|
|
35
45
|
"./tokens-default.css": "./dist/styles/tokens-default.css"
|
|
@@ -52,7 +62,8 @@
|
|
|
52
62
|
},
|
|
53
63
|
"dependencies": {
|
|
54
64
|
"@akairos/milkdown-article-plugins": "^0.1.3",
|
|
55
|
-
"juice": "^12.2.0"
|
|
65
|
+
"juice": "^12.2.0",
|
|
66
|
+
"postcss-selector-parser": "7.1.6"
|
|
56
67
|
},
|
|
57
68
|
"devDependencies": {
|
|
58
69
|
"@milkdown/crepe": "^7.21.2",
|