@bytechain.cn/colamd-themes 0.3.2 → 0.5.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/.claude/skills/colamd-themes-preview.skill.md +333 -0
- package/.claude/skills/colamd-themes.skill.md +10 -0
- package/.dsh/skills/colamd-themes/SKILL.md +14 -0
- package/.github/supported-topics.yml +17 -0
- package/.hermes/skills/tools/colamd-themes/SKILL.md +14 -0
- package/.openclaw/skills/colamd-themes/SKILL.md +1 -37
- package/.opencode/skills/colamd-themes/SKILL.md +17 -0
- package/.trae/rules/colamd-themes.md +0 -36
- package/CHANGELOG.md +331 -241
- package/DSH_SUPPORT_SUMMARY.md +87 -0
- package/README.md +414 -384
- package/README_CN.md +412 -384
- package/RELEASENOTE.md +541 -389
- package/dist/cli.js +36 -55
- package/dist/cli.js.map +1 -1
- package/dist/color-utils.d.ts +1 -0
- package/dist/color-utils.js +25 -6
- package/dist/color-utils.js.map +1 -1
- package/dist/extractors/pdf-extractor.js +6 -1
- package/dist/extractors/pdf-extractor.js.map +1 -1
- package/dist/extractors/url-extractor.d.ts +0 -4
- package/dist/extractors/url-extractor.js +13 -126
- package/dist/extractors/url-extractor.js.map +1 -1
- package/dist/generator.d.ts +1 -1
- package/dist/generator.js +32 -11
- package/dist/generator.js.map +1 -1
- package/dist/models.d.ts +5 -4
- package/dist/models.js +2 -3
- package/dist/models.js.map +1 -1
- package/dist/renderer.d.ts +6 -3
- package/dist/renderer.js +54 -93
- package/dist/renderer.js.map +1 -1
- package/dist/templates/template.css +220 -498
- package/dist/templates/theme-paradigm.md +530 -658
- package/dist/templates/theme-template.hbs +256 -370
- package/dist/theme-store.js +19 -3
- package/dist/theme-store.js.map +1 -1
- package/dist/utils/document-paradigm.d.ts +12 -0
- package/dist/utils/document-paradigm.js +109 -0
- package/dist/utils/document-paradigm.js.map +1 -0
- package/dist/validators.d.ts +4 -1
- package/dist/validators.js +115 -1
- package/dist/validators.js.map +1 -1
- package/mcp-server/dist/index.d.ts +13 -0
- package/mcp-server/dist/index.d.ts.map +1 -0
- package/mcp-server/dist/index.js +0 -0
- package/mcp-server/dist/index.js.map +1 -0
- package/mcp-server/package-lock.json +1759 -0
- package/mcp-server/package.json +24 -0
- package/mcp-server/src/index.ts +0 -0
- package/mcp-server/tsconfig.json +19 -0
- package/package.json +54 -36
- package/skills/build-skills.sh +30 -5
- package/skills/colamd-themes/SKILL.md +180 -178
- package/src/cli.ts +474 -487
- package/src/color-systems.ts +289 -289
- package/src/color-utils.ts +137 -120
- package/src/contrast.ts +66 -66
- package/src/docx-style-paradigm.ts +811 -811
- package/src/export-cli.ts +356 -356
- package/src/extractors/base.ts +8 -8
- package/src/extractors/docx-extractor.ts +417 -417
- package/src/extractors/pdf-extractor.ts +533 -527
- package/src/extractors/url-extractor.ts +846 -981
- package/src/generator.ts +197 -169
- package/src/index.ts +29 -29
- package/src/models.ts +212 -212
- package/src/renderer.ts +310 -359
- package/src/templates/template.css +220 -498
- package/src/templates/theme-paradigm.md +530 -658
- package/src/templates/theme-template.hbs +256 -370
- package/src/theme-store.ts +185 -170
- package/src/types/pdf-parse.d.ts +12 -12
- package/src/utils/cli-utils.ts +84 -84
- package/src/utils/document-paradigm.ts +118 -0
- package/src/validators.ts +298 -176
- package/themes/academic-paper-pt.css +353 -1805
- package/themes/academic-paper.css +350 -1099
- package/themes/academic-style.css +342 -2430
- package/themes/colly.css +256 -370
- package/themes/elegant.css +288 -671
- package/themes/forest-ink.css +240 -664
- package/themes/guizang.css +250 -732
- package/themes/hermes-security.css +279 -0
- package/themes/meeting-minutes.css +256 -370
- package/themes/pixso-design.css +278 -1261
- package/themes/salvator-blog.css +256 -370
- package/themes/shimo-theme.css +256 -0
- package/themes/swiss-design.css +285 -746
- package/themes/template.css +220 -498
- package/themes/trae-blue.css +280 -737
- package/themes/word-contract.css +249 -0
- package/themes-preview/demo-content.md +187 -187
- package/tsconfig.json +18 -18
- package/src/mermaid-presets.ts +0 -142
- package/themes/swiss-design copy.css +0 -746
- package/themes-preview/colly-preview.html +0 -623
- package/themes-preview/meeting-minutes-preview.html +0 -625
- package/themes-preview/salvator-blog-preview.html +0 -623
package/src/mermaid-presets.ts
DELETED
|
@@ -1,142 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Mermaid 20-variable presets for light, dark, and elegant theme modes.
|
|
3
|
-
* Based on ColaMD-extend reference themes (elegant.css, forest-ink.css, guizang.css).
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
import { isLightMode, hslHue } from "./contrast.js";
|
|
7
|
-
|
|
8
|
-
export interface MermaidPreset {
|
|
9
|
-
id: string;
|
|
10
|
-
name: string;
|
|
11
|
-
description: string;
|
|
12
|
-
variables: Record<string, string>;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
// ═══════════════════════════════════════════════════════════
|
|
16
|
-
// Light Preset — warm paper tone (from elegant.css style)
|
|
17
|
-
// ═══════════════════════════════════════════════════════════
|
|
18
|
-
|
|
19
|
-
const lightPreset: MermaidPreset = {
|
|
20
|
-
id: "light",
|
|
21
|
-
name: "Light",
|
|
22
|
-
description: "亮色主题 Mermaid 预设 — 暖色调,节点用浅色填充、accent 描边",
|
|
23
|
-
variables: {
|
|
24
|
-
"mermaid-background": "var(--seed-panel)",
|
|
25
|
-
"mermaid-border-color": "var(--seed-border)",
|
|
26
|
-
"mermaid-border-radius": "var(--radius-md)",
|
|
27
|
-
"mermaid-padding": "20px",
|
|
28
|
-
"mermaid-font-family": "var(--font-mermaid)",
|
|
29
|
-
"mermaid-font-size": "var(--font-size-mermaid)",
|
|
30
|
-
"mermaid-node-fill": "var(--seed-panel)",
|
|
31
|
-
"mermaid-node-stroke": "var(--seed-accent)",
|
|
32
|
-
"mermaid-node-stroke-width": "1.5px",
|
|
33
|
-
"mermaid-node-text": "var(--seed-ink)",
|
|
34
|
-
"mermaid-edge-stroke": "var(--seed-ink-muted)",
|
|
35
|
-
"mermaid-edge-stroke-width": "1.5px",
|
|
36
|
-
"mermaid-cluster-fill": "rgba accent 0.06",
|
|
37
|
-
"mermaid-cluster-stroke": "var(--seed-accent)",
|
|
38
|
-
"mermaid-label-text": "var(--seed-ink)",
|
|
39
|
-
"mermaid-edge-label-text": "var(--seed-ink-muted)",
|
|
40
|
-
"mermaid-edge-label-bg": "var(--seed-surface)",
|
|
41
|
-
"mermaid-title-text": "var(--seed-ink)",
|
|
42
|
-
"mermaid-axis-text": "var(--seed-ink-muted)",
|
|
43
|
-
"mermaid-highlight": "var(--seed-accent)",
|
|
44
|
-
"mermaid-person-stroke": "var(--seed-ink)",
|
|
45
|
-
"mermaid-person-fill": "var(--seed-panel)",
|
|
46
|
-
"mermaid-label-offset-y": "0px",
|
|
47
|
-
},
|
|
48
|
-
};
|
|
49
|
-
|
|
50
|
-
// ═══════════════════════════════════════════════════════════
|
|
51
|
-
// Dark Preset — dark background (for dark themes)
|
|
52
|
-
// ═══════════════════════════════════════════════════════════
|
|
53
|
-
|
|
54
|
-
const darkPreset: MermaidPreset = {
|
|
55
|
-
id: "dark",
|
|
56
|
-
name: "Dark",
|
|
57
|
-
description: "暗色主题 Mermaid 预设 — 深色背景,亮色节点",
|
|
58
|
-
variables: {
|
|
59
|
-
"mermaid-background": "var(--seed-panel-alt)",
|
|
60
|
-
"mermaid-border-color": "var(--seed-border-strong)",
|
|
61
|
-
"mermaid-border-radius": "var(--radius-md)",
|
|
62
|
-
"mermaid-padding": "20px",
|
|
63
|
-
"mermaid-font-family": "var(--font-mermaid)",
|
|
64
|
-
"mermaid-font-size": "var(--font-size-mermaid)",
|
|
65
|
-
"mermaid-node-fill": "var(--seed-panel)",
|
|
66
|
-
"mermaid-node-stroke": "var(--seed-accent-light)",
|
|
67
|
-
"mermaid-node-stroke-width": "1.5px",
|
|
68
|
-
"mermaid-node-text": "var(--seed-ink)",
|
|
69
|
-
"mermaid-edge-stroke": "var(--seed-ink-muted)",
|
|
70
|
-
"mermaid-edge-stroke-width": "1.5px",
|
|
71
|
-
"mermaid-cluster-fill": "rgba accent 0.08",
|
|
72
|
-
"mermaid-cluster-stroke": "var(--seed-border-strong)",
|
|
73
|
-
"mermaid-label-text": "var(--seed-ink)",
|
|
74
|
-
"mermaid-edge-label-text": "var(--seed-ink-muted)",
|
|
75
|
-
"mermaid-edge-label-bg": "var(--seed-surface)",
|
|
76
|
-
"mermaid-title-text": "var(--seed-ink)",
|
|
77
|
-
"mermaid-axis-text": "var(--seed-ink-muted)",
|
|
78
|
-
"mermaid-highlight": "var(--seed-accent)",
|
|
79
|
-
"mermaid-person-stroke": "var(--seed-ink)",
|
|
80
|
-
"mermaid-person-fill": "var(--seed-panel)",
|
|
81
|
-
"mermaid-label-offset-y": "0px",
|
|
82
|
-
},
|
|
83
|
-
};
|
|
84
|
-
|
|
85
|
-
// ═══════════════════════════════════════════════════════════
|
|
86
|
-
// Elegant Preset — warm toned (for warm ink/paper themes)
|
|
87
|
-
// ═══════════════════════════════════════════════════════════
|
|
88
|
-
|
|
89
|
-
const elegantPreset: MermaidPreset = {
|
|
90
|
-
id: "elegant",
|
|
91
|
-
name: "Elegant",
|
|
92
|
-
description: "典雅暖调 Mermaid 预设 — 米色底 + 暖棕点缀",
|
|
93
|
-
variables: {
|
|
94
|
-
"mermaid-background": "var(--seed-panel)",
|
|
95
|
-
"mermaid-border-color": "var(--seed-border)",
|
|
96
|
-
"mermaid-border-radius": "var(--radius-md)",
|
|
97
|
-
"mermaid-padding": "20px",
|
|
98
|
-
"mermaid-font-family": "var(--font-mermaid)",
|
|
99
|
-
"mermaid-font-size": "var(--font-size-mermaid)",
|
|
100
|
-
"mermaid-node-fill": "var(--seed-panel)",
|
|
101
|
-
"mermaid-node-stroke": "var(--seed-accent)",
|
|
102
|
-
"mermaid-node-stroke-width": "1.5px",
|
|
103
|
-
"mermaid-node-text": "var(--seed-ink)",
|
|
104
|
-
"mermaid-edge-stroke": "var(--seed-ink-muted)",
|
|
105
|
-
"mermaid-edge-stroke-width": "1.5px",
|
|
106
|
-
"mermaid-cluster-fill": "rgba accent 0.04",
|
|
107
|
-
"mermaid-cluster-stroke": "var(--seed-accent)",
|
|
108
|
-
"mermaid-label-text": "var(--seed-ink)",
|
|
109
|
-
"mermaid-edge-label-text": "var(--seed-ink-muted)",
|
|
110
|
-
"mermaid-edge-label-bg": "var(--seed-surface)",
|
|
111
|
-
"mermaid-title-text": "var(--seed-ink)",
|
|
112
|
-
"mermaid-axis-text": "var(--seed-ink-muted)",
|
|
113
|
-
"mermaid-highlight": "var(--seed-accent)",
|
|
114
|
-
"mermaid-person-stroke": "var(--seed-ink)",
|
|
115
|
-
"mermaid-person-fill": "var(--seed-panel)",
|
|
116
|
-
"mermaid-label-offset-y": "0px",
|
|
117
|
-
},
|
|
118
|
-
};
|
|
119
|
-
|
|
120
|
-
// ── Registry ──
|
|
121
|
-
|
|
122
|
-
export const MERMAID_PRESETS: MermaidPreset[] = [lightPreset, darkPreset, elegantPreset];
|
|
123
|
-
|
|
124
|
-
export function getMermaidPreset(id: string): MermaidPreset | undefined {
|
|
125
|
-
return MERMAID_PRESETS.find((p) => p.id === id);
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
/** Auto-select Mermaid preset based on background luminance. */
|
|
129
|
-
export function selectMermaidPreset(
|
|
130
|
-
bgHex: string,
|
|
131
|
-
accentHex: string
|
|
132
|
-
): MermaidPreset {
|
|
133
|
-
const light = isLightMode(bgHex);
|
|
134
|
-
if (!light) return darkPreset;
|
|
135
|
-
|
|
136
|
-
// For light themes: check accent warmth — warm accent → elegant, cool → light
|
|
137
|
-
const hue = hslHue(accentHex);
|
|
138
|
-
// Warm hues: red (0-30), orange (30-50), brown is low sat orange
|
|
139
|
-
if (hue >= 0 && hue <= 50) return elegantPreset;
|
|
140
|
-
|
|
141
|
-
return lightPreset;
|
|
142
|
-
}
|