@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.
Files changed (99) hide show
  1. package/.claude/skills/colamd-themes-preview.skill.md +333 -0
  2. package/.claude/skills/colamd-themes.skill.md +10 -0
  3. package/.dsh/skills/colamd-themes/SKILL.md +14 -0
  4. package/.github/supported-topics.yml +17 -0
  5. package/.hermes/skills/tools/colamd-themes/SKILL.md +14 -0
  6. package/.openclaw/skills/colamd-themes/SKILL.md +1 -37
  7. package/.opencode/skills/colamd-themes/SKILL.md +17 -0
  8. package/.trae/rules/colamd-themes.md +0 -36
  9. package/CHANGELOG.md +331 -241
  10. package/DSH_SUPPORT_SUMMARY.md +87 -0
  11. package/README.md +414 -384
  12. package/README_CN.md +412 -384
  13. package/RELEASENOTE.md +541 -389
  14. package/dist/cli.js +36 -55
  15. package/dist/cli.js.map +1 -1
  16. package/dist/color-utils.d.ts +1 -0
  17. package/dist/color-utils.js +25 -6
  18. package/dist/color-utils.js.map +1 -1
  19. package/dist/extractors/pdf-extractor.js +6 -1
  20. package/dist/extractors/pdf-extractor.js.map +1 -1
  21. package/dist/extractors/url-extractor.d.ts +0 -4
  22. package/dist/extractors/url-extractor.js +13 -126
  23. package/dist/extractors/url-extractor.js.map +1 -1
  24. package/dist/generator.d.ts +1 -1
  25. package/dist/generator.js +32 -11
  26. package/dist/generator.js.map +1 -1
  27. package/dist/models.d.ts +5 -4
  28. package/dist/models.js +2 -3
  29. package/dist/models.js.map +1 -1
  30. package/dist/renderer.d.ts +6 -3
  31. package/dist/renderer.js +54 -93
  32. package/dist/renderer.js.map +1 -1
  33. package/dist/templates/template.css +220 -498
  34. package/dist/templates/theme-paradigm.md +530 -658
  35. package/dist/templates/theme-template.hbs +256 -370
  36. package/dist/theme-store.js +19 -3
  37. package/dist/theme-store.js.map +1 -1
  38. package/dist/utils/document-paradigm.d.ts +12 -0
  39. package/dist/utils/document-paradigm.js +109 -0
  40. package/dist/utils/document-paradigm.js.map +1 -0
  41. package/dist/validators.d.ts +4 -1
  42. package/dist/validators.js +115 -1
  43. package/dist/validators.js.map +1 -1
  44. package/mcp-server/dist/index.d.ts +13 -0
  45. package/mcp-server/dist/index.d.ts.map +1 -0
  46. package/mcp-server/dist/index.js +0 -0
  47. package/mcp-server/dist/index.js.map +1 -0
  48. package/mcp-server/package-lock.json +1759 -0
  49. package/mcp-server/package.json +24 -0
  50. package/mcp-server/src/index.ts +0 -0
  51. package/mcp-server/tsconfig.json +19 -0
  52. package/package.json +54 -36
  53. package/skills/build-skills.sh +30 -5
  54. package/skills/colamd-themes/SKILL.md +180 -178
  55. package/src/cli.ts +474 -487
  56. package/src/color-systems.ts +289 -289
  57. package/src/color-utils.ts +137 -120
  58. package/src/contrast.ts +66 -66
  59. package/src/docx-style-paradigm.ts +811 -811
  60. package/src/export-cli.ts +356 -356
  61. package/src/extractors/base.ts +8 -8
  62. package/src/extractors/docx-extractor.ts +417 -417
  63. package/src/extractors/pdf-extractor.ts +533 -527
  64. package/src/extractors/url-extractor.ts +846 -981
  65. package/src/generator.ts +197 -169
  66. package/src/index.ts +29 -29
  67. package/src/models.ts +212 -212
  68. package/src/renderer.ts +310 -359
  69. package/src/templates/template.css +220 -498
  70. package/src/templates/theme-paradigm.md +530 -658
  71. package/src/templates/theme-template.hbs +256 -370
  72. package/src/theme-store.ts +185 -170
  73. package/src/types/pdf-parse.d.ts +12 -12
  74. package/src/utils/cli-utils.ts +84 -84
  75. package/src/utils/document-paradigm.ts +118 -0
  76. package/src/validators.ts +298 -176
  77. package/themes/academic-paper-pt.css +353 -1805
  78. package/themes/academic-paper.css +350 -1099
  79. package/themes/academic-style.css +342 -2430
  80. package/themes/colly.css +256 -370
  81. package/themes/elegant.css +288 -671
  82. package/themes/forest-ink.css +240 -664
  83. package/themes/guizang.css +250 -732
  84. package/themes/hermes-security.css +279 -0
  85. package/themes/meeting-minutes.css +256 -370
  86. package/themes/pixso-design.css +278 -1261
  87. package/themes/salvator-blog.css +256 -370
  88. package/themes/shimo-theme.css +256 -0
  89. package/themes/swiss-design.css +285 -746
  90. package/themes/template.css +220 -498
  91. package/themes/trae-blue.css +280 -737
  92. package/themes/word-contract.css +249 -0
  93. package/themes-preview/demo-content.md +187 -187
  94. package/tsconfig.json +18 -18
  95. package/src/mermaid-presets.ts +0 -142
  96. package/themes/swiss-design copy.css +0 -746
  97. package/themes-preview/colly-preview.html +0 -623
  98. package/themes-preview/meeting-minutes-preview.html +0 -625
  99. package/themes-preview/salvator-blog-preview.html +0 -623
@@ -1,623 +0,0 @@
1
- <!DOCTYPE html>
2
- <html lang="zh-CN">
3
- <head>
4
- <meta charset="UTF-8">
5
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
- <title>salvator-blog Theme - Unified Background</title>
7
- <script src="https://cdn.jsdelivr.net/npm/marked/marked.min.js"></script>
8
- <script src="https://cdn.jsdelivr.net/npm/mermaid/dist/mermaid.min.js"></script>
9
- <style>
10
- /*
11
- * ColaMD Theme: salvator-blog
12
- * Theme extracted from url
13
- * Generated by colamd-themes (url: https://salvator.me/p/jubilacion-digna-derechos-y-beneficios/)
14
- *
15
- * ═══════════════════════════════════════════════════════════
16
- * SECTION 1 — Design Tokens
17
- * Modify the 5 seed colors + 3 font stacks to change the theme
18
- * ═══════════════════════════════════════════════════════════ */
19
-
20
- body.theme-custom {
21
-
22
- /* ── 1.1 Seed Palette ── */
23
- --seed-accent: #1a73e8;
24
- --seed-accent-light: rgba(26, 115, 232, 0.18);
25
- --seed-accent-dark: #1a73e8;
26
- --seed-surface: #ffffff;
27
- --seed-panel: #f8f8f8;
28
- --seed-panel-alt: #f8f8f8;
29
- --seed-ink: #222222;
30
- --seed-ink-muted: #666666;
31
- --seed-ink-dim: #666666;
32
- --seed-border: #cccccc;
33
- --seed-border-strong: #cccccc;
34
-
35
- /* ── 1.2 Typography ── */
36
- --font-body: "Noto Serif SC", "Source Han Serif SC", "Inter", "SF Pro Text", -apple-system, Georgia, serif;
37
- --font-heading: "Noto Sans SC", "PingFang SC", "Inter", "SF Pro Text", -apple-system, "Microsoft YaHei", sans-serif;
38
- --font-code: "JetBrains Mono", "SF Mono", "Fira Code", Menlo, Consolas, monospace;
39
- --font-mermaid: var(--font-heading);
40
-
41
- /* ── 1.3 Font Sizing ── */
42
- --font-size-root: 16px;
43
- --font-scale-h1: 2;
44
- --font-scale-h2: 1.125;
45
- --font-scale-h3: 1.25;
46
- --font-scale-h4: 1.1;
47
- --font-scale-h5: 1;
48
- --font-scale-h6: 0.95;
49
- --font-size-mermaid: 13px;
50
- --line-height-body: 1.75;
51
- --line-height-heading: 1.35;
52
- --line-height-code: 1.6;
53
-
54
- /* ── 1.4 Radii & Spacing ── */
55
- --radius-sm: 3px;
56
- --radius-md: 6px;
57
- --radius-lg: 10px;
58
- --content-width: 820px;
59
-
60
- /* ═══════════════════════════════════════════════════════════
61
- SECTION 2 — Semantic Mapping
62
- Auto-maps seed tokens → ColaMD built-in variables
63
- ═══════════════════════════════════════════════════════════ */
64
-
65
- /* ── 2.1 Surface ── */
66
- --bg-color: var(--seed-surface);
67
- --surface-color: var(--seed-panel);
68
- --surface-alt: var(--seed-panel-alt);
69
-
70
- /* ── 2.2 Text ── */
71
- --text-color: var(--seed-ink);
72
- --heading-color: var(--seed-ink);
73
- --text-muted: var(--seed-ink-muted);
74
- --text-dim: var(--seed-ink-dim);
75
-
76
- /* ── 2.3 Links & Accent ── */
77
- --link-color: var(--seed-accent);
78
- --accent-color: var(--seed-accent);
79
- --accent-dark: var(--seed-accent-dark);
80
- --accent-light: var(--seed-accent-light);
81
- --selection-bg: rgba(43, 87, 154, 0.15);
82
-
83
- /* ── 2.4 Borders ── */
84
- --border-color: var(--seed-border);
85
- --blockquote-border: var(--seed-accent);
86
- --hr-color: var(--seed-border);
87
-
88
- /* ── 2.5 Inline Code ── */
89
- --code-bg: var(--seed-panel);
90
- --code-color: var(--seed-accent-dark);
91
-
92
- /* ── 2.6 Code Blocks ── */
93
- --code-block-bg: var(--seed-panel-alt);
94
- --code-block-text: var(--seed-ink);
95
- --code-block-color: var(--seed-ink);
96
-
97
- /* ── 2.7 Blockquote ── */
98
- --blockquote-bg: var(--seed-panel);
99
-
100
- /* ── 2.8 Tables ── */
101
- --table-header-bg: var(--seed-panel);
102
- --table-border: var(--seed-border);
103
-
104
- /* ── 2.9 Scrollbar ── */
105
- --scrollbar-thumb: var(--seed-border-strong);
106
- --scrollbar-thumb-hover: var(--seed-ink-muted);
107
-
108
- /* ═══════════════════════════════════════════════════════════
109
- SECTION 3 — Mermaid 20 Core Variables
110
- Auto-consumed by built-in variables.css for 22 diagram types
111
- ═══════════════════════════════════════════════════════════ */
112
-
113
- /* ── 3.1 Container ── */
114
- --mermaid-background: var(--seed-panel);
115
- --mermaid-border-color: var(--seed-border);
116
- --mermaid-border-radius: var(--radius-md);
117
- --mermaid-padding: 20px;
118
-
119
- /* ── 3.2 Font ── */
120
- --mermaid-font-family: var(--font-mermaid);
121
- --mermaid-font-size: var(--font-size-mermaid);
122
-
123
- /* ── 3.3 Nodes ── */
124
- --mermaid-node-fill: var(--seed-panel);
125
- --mermaid-node-stroke: var(--seed-accent);
126
- --mermaid-node-stroke-width: 1.5px;
127
- --mermaid-node-text: var(--seed-ink);
128
-
129
- /* ── 3.4 Edges ── */
130
- --mermaid-edge-stroke: var(--seed-ink-muted);
131
- --mermaid-edge-stroke-width: 1.5px;
132
-
133
- /* ── 3.5 Clusters ── */
134
- --mermaid-cluster-fill: rgba(43, 87, 154, 0.06);
135
- --mermaid-cluster-stroke: var(--seed-accent);
136
-
137
- /* ── 3.6 Labels ── */
138
- --mermaid-label-text: var(--seed-ink);
139
- --mermaid-edge-label-text: var(--seed-ink-muted);
140
- --mermaid-edge-label-bg: var(--seed-surface);
141
-
142
- /* ── 3.7 Titles & Axes ── */
143
- --mermaid-title-text: var(--seed-ink);
144
- --mermaid-axis-text: var(--seed-ink-muted);
145
- --mermaid-highlight: var(--seed-accent);
146
-
147
- /* ── 3.8 Person Nodes ── */
148
- --mermaid-person-stroke: var(--seed-ink);
149
- --mermaid-person-fill: var(--seed-panel);
150
-
151
- /* ── 3.9 Label Offset ── */
152
- --mermaid-label-offset-y: 0px;
153
-
154
- /* ── 4. Fine Tuning ── */
155
- --line-height-base: var(--line-height-body);
156
- }
157
-
158
- /* ═══════════════════════════════════════════════════════════
159
- SECTION 5 — Selector-Level Micro Adjustments
160
- Only where base.css doesn't cover. All values via var(--*).
161
- ═══════════════════════════════════════════════════════════ */
162
-
163
- html { font-size: var(--font-size-root); }
164
- body.theme-custom, html, body {
165
- background-color: var(--bg-color);
166
- color: var(--text-color);
167
- font-family: var(--font-body);
168
- line-height: var(--line-height-body);
169
- }
170
-
171
- #write {
172
- max-width: var(--content-width);
173
- margin: 0 auto;
174
- padding: 30px 60px 100px;
175
- }
176
-
177
- body.theme-custom h1, body.theme-custom h2, body.theme-custom h3,
178
- body.theme-custom h4, body.theme-custom h5, body.theme-custom h6 {
179
- font-family: var(--font-heading);
180
- color: var(--heading-color);
181
- font-weight: 700;
182
- line-height: var(--line-height-heading);
183
- }
184
-
185
- body.theme-custom h1 { font-size: calc(var(--font-size-root) * var(--font-scale-h1)); }
186
- body.theme-custom h2 { font-size: calc(var(--font-size-root) * var(--font-scale-h2)); }
187
- body.theme-custom h3 { font-size: calc(var(--font-size-root) * var(--font-scale-h3)); }
188
- body.theme-custom h4 { font-size: calc(var(--font-size-root) * var(--font-scale-h4)); }
189
- body.theme-custom h5 { font-size: calc(var(--font-size-root) * var(--font-scale-h5)); }
190
- body.theme-custom h6 { font-size: calc(var(--font-size-root) * var(--font-scale-h6)); }
191
-
192
- body.theme-custom strong { color: var(--accent-color); }
193
- body.theme-custom code {
194
- font-family: var(--font-code);
195
- background: var(--code-bg);
196
- color: var(--code-color);
197
- }
198
-
199
- body.theme-custom pre {
200
- background: var(--code-block-bg);
201
- font-family: var(--font-code);
202
- line-height: var(--line-height-code);
203
- }
204
- body.theme-custom pre code { color: var(--code-block-text); background: transparent; }
205
-
206
- body.theme-custom blockquote {
207
- background: var(--blockquote-bg);
208
- border-left: 4px solid var(--blockquote-border);
209
- }
210
-
211
- body.theme-custom table th {
212
- background: var(--table-header-bg);
213
- font-weight: 700;
214
- border-bottom: 2px solid var(--accent-color);
215
- }
216
-
217
- body.theme-custom hr {
218
- border: none;
219
- border-top: 1px solid var(--hr-color);
220
- }
221
-
222
- body.theme-custom img { max-width: 100%; }
223
-
224
- /* ── 5.11 Mermaid caption ── */
225
- body.theme-custom .mermaid-block + p {
226
- text-align: center;
227
- font-family: var(--font-heading);
228
- font-size: calc(var(--font-size-mermaid) + 2px);
229
- color: var(--text-muted);
230
- }
231
-
232
- /* ── 5.12 Responsive ── */
233
- @media only screen and (max-width: 768px) {
234
- #write { padding: 20px; }
235
- body.theme-custom .mermaid-block { padding: 12px; }
236
- }
237
-
238
- /* ═══════════════════════════════════════════════════════════
239
- SECTION 6 — Print / Export
240
- Screen mirror: every screen property restated with !important.
241
- ═══════════════════════════════════════════════════════════ */
242
- @media print {
243
- @page { margin: 20mm; }
244
-
245
- /* ── 6.0 Variable re-declaration (Chromium strips CSS variables in print) ── */
246
- body.theme-custom {
247
- --seed-accent: #1a73e8;
248
- --seed-accent-dark: #1a73e8;
249
- --seed-surface: #ffffff;
250
- --seed-ink: #222222;
251
- --seed-ink-muted: #666666;
252
- --seed-panel: #f8f8f8;
253
- --seed-panel-alt: #f8f8f8;
254
- --seed-border: #cccccc;
255
- --font-size-root: 16px;
256
- --line-height-body: 1.75;
257
- --line-height-heading: 1.35;
258
- --line-height-code: 1.6;
259
- --font-scale-h1: 2;
260
- --font-scale-h2: 1.125;
261
- --font-scale-h3: 1.25;
262
- --font-scale-h4: 1.1;
263
- --font-scale-h5: 1;
264
- --font-scale-h6: 0.95;
265
- --content-width: 820px;
266
- --font-size-mermaid: 13px;
267
- --accent-color: var(--seed-accent);
268
- --accent-dark: var(--seed-accent-dark);
269
- --code-bg: var(--seed-panel);
270
- --code-color: var(--seed-accent-dark);
271
- --code-block-bg: var(--seed-panel-alt);
272
- --code-block-text: var(--seed-ink);
273
- --blockquote-bg: var(--seed-panel);
274
- --table-header-bg: var(--seed-panel);
275
- --border-color: var(--seed-border);
276
- --hr-color: var(--seed-border);
277
- }
278
-
279
- html, body, body.theme-custom {
280
- background: var(--seed-surface) !important;
281
- color: var(--seed-ink) !important;
282
- font-family: var(--font-body) !important;
283
- line-height: var(--line-height-body) !important;
284
- -webkit-print-color-adjust: exact !important;
285
- print-color-adjust: exact !important;
286
- }
287
-
288
- #write {
289
- max-width: var(--content-width) !important;
290
- margin: 0 auto !important;
291
- padding: 30px 60px 100px !important;
292
- }
293
-
294
- body.theme-custom h1, body.theme-custom h2, body.theme-custom h3,
295
- body.theme-custom h4, body.theme-custom h5, body.theme-custom h6 {
296
- font-family: var(--font-heading) !important;
297
- color: var(--seed-ink) !important;
298
- font-weight: 700 !important;
299
- line-height: var(--line-height-heading) !important;
300
- -webkit-print-color-adjust: exact !important;
301
- print-color-adjust: exact !important;
302
- }
303
- body.theme-custom h1 { font-size: calc(var(--font-size-root) * var(--font-scale-h1)) !important; }
304
- body.theme-custom h2 { font-size: calc(var(--font-size-root) * var(--font-scale-h2)) !important; }
305
- body.theme-custom h3 { font-size: calc(var(--font-size-root) * var(--font-scale-h3)) !important; }
306
- body.theme-custom h4 { font-size: calc(var(--font-size-root) * var(--font-scale-h4)) !important; }
307
- body.theme-custom h5 { font-size: calc(var(--font-size-root) * var(--font-scale-h5)) !important; }
308
- body.theme-custom h6 { font-size: calc(var(--font-size-root) * var(--font-scale-h6)) !important; }
309
-
310
- body.theme-custom strong {
311
- color: var(--accent-color) !important;
312
- -webkit-print-color-adjust: exact !important;
313
- print-color-adjust: exact !important;
314
- }
315
-
316
- body.theme-custom code {
317
- font-family: var(--font-code) !important;
318
- background: var(--code-bg) !important;
319
- color: var(--code-color) !important;
320
- -webkit-print-color-adjust: exact !important;
321
- print-color-adjust: exact !important;
322
- }
323
-
324
- body.theme-custom pre {
325
- background: var(--code-block-bg) !important;
326
- font-family: var(--font-code) !important;
327
- line-height: var(--line-height-code) !important;
328
- -webkit-print-color-adjust: exact !important;
329
- print-color-adjust: exact !important;
330
- }
331
- body.theme-custom pre code { color: var(--code-block-text) !important; background: transparent !important; }
332
-
333
- body.theme-custom blockquote {
334
- background: var(--blockquote-bg) !important;
335
- border-left: 4px solid var(--seed-accent) !important;
336
- -webkit-print-color-adjust: exact !important;
337
- print-color-adjust: exact !important;
338
- }
339
-
340
- body.theme-custom table th {
341
- background: var(--table-header-bg) !important;
342
- color: var(--seed-ink) !important;
343
- font-weight: 700 !important;
344
- border-bottom: 2px solid var(--accent-color) !important;
345
- -webkit-print-color-adjust: exact !important;
346
- print-color-adjust: exact !important;
347
- }
348
-
349
- body.theme-custom a {
350
- color: var(--seed-accent) !important;
351
- -webkit-print-color-adjust: exact !important;
352
- print-color-adjust: exact !important;
353
- }
354
-
355
- body.theme-custom hr {
356
- border: none !important;
357
- border-top: 1px solid var(--hr-color) !important;
358
- }
359
-
360
- body.theme-custom img { max-width: 100% !important; }
361
-
362
- body.theme-custom .mermaid-block {
363
- background: var(--seed-surface) !important;
364
- border-color: var(--seed-border) !important;
365
- -webkit-print-color-adjust: exact !important;
366
- print-color-adjust: exact !important;
367
- }
368
- body.theme-custom .mermaid-preview svg * {
369
- -webkit-print-color-adjust: exact !important;
370
- print-color-adjust: exact !important;
371
- }
372
-
373
- body.theme-custom .mermaid-block + p {
374
- color: var(--seed-ink-muted) !important;
375
- text-align: center !important;
376
- font-family: var(--font-heading) !important;
377
- font-size: calc(var(--font-size-mermaid) + 2px) !important;
378
- }
379
- }
380
-
381
- </style>
382
- </head>
383
- <body class="theme-custom">
384
- <div style="position: sticky; top: 0; background: var(--seed-surface); border-bottom: 1px solid var(--seed-border); padding: 1rem; z-index: 100; box-shadow: 0 2px 8px rgba(0,0,0,0.1);">
385
- <h2 style="margin: 0 0 0.5rem 0; font-size: 1.25rem; color: var(--seed-ink);">
386
- 🎨 salvator-blog Theme (Unified Background)
387
- </h2>
388
- <div style="display: flex; gap: 1rem; align-items: center; flex-wrap: wrap;">
389
- <div><strong>Accent:</strong> <span style="color:#1a73e8">#1a73e8</span></div>
390
- <div style="display:flex; gap:0.5rem;">
391
- <span title="accent"><span style="display:inline-block;width:20px;height:20px;background:#1a73e8;border:1px solid #ccc;"></span></span>
392
- <span title="surface"><span style="display:inline-block;width:20px;height:20px;background:#ffffff;border:1px solid #ccc;"></span></span>
393
- <span title="panel"><span style="display:inline-block;width:20px;height:20px;background:#f8f8f8;border:1px solid #ccc;"></span></span>
394
- <span title="panel-alt"><span style="display:inline-block;width:20px;height:20px;background:#f8f8f8;border:1px solid #ccc;"></span></span>
395
- <span title="ink"><span style="display:inline-block;width:20px;height:20px;background:#222222;border-radius:4px;"></span></span>
396
- </div>
397
- </div>
398
- </div>
399
-
400
- <div style="display: flex; max-width: 1400px; margin: 0 auto;">
401
- <nav style="width: 200px; padding: 2rem 1rem; position: sticky; top: 120px; height: calc(100vh - 120px); overflow-y: auto; border-right: 1px solid var(--seed-border);">
402
- <h3 style="margin-top:0;">目录</h3>
403
- <ul id="toc" style="padding-left:1rem;line-height:1.8;"></ul>
404
- </nav>
405
-
406
- <main style="flex:1;padding:2rem;max-width:820px;">
407
- <div id="content"></div>
408
- </main>
409
- </div>
410
-
411
- <script type="text/markdown" id="demo-content" style="display:none;">
412
- # 会议纪要主题演示
413
-
414
- 这是 **meeting-minutes** 主题的完整预览。该主题从实际的会议纪要文档中提取,适合正式的商务文档排版。
415
-
416
- ## 2. 二级标题样式
417
-
418
- ### 3. 三级标题样式
419
-
420
- 这是一段普通文本,包含 **粗体**、*斜体*、`行内代码`、[链接](https://example.com) 和 ~~删除线~~。还会包含一些中文文本以测试字体效果。
421
-
422
- > 这是一个引用块。引用块通常用于强调或展示外部内容。这里可以包含 *斜体* 和 **粗体** 文本。
423
- >
424
- > —— 会议记录人
425
-
426
- ### 列表样式
427
-
428
- **无序列表:**
429
-
430
- - 第一项讨论内容
431
- - 第二项讨论内容
432
- - 嵌套的子项目 A
433
- - 嵌套的子项目 B
434
- - 第三项行动项
435
-
436
- **有序列表:**
437
-
438
- 1. 开场致辞
439
- 2. 议程第一项:财务报告
440
- 1. 第一季度回顾
441
- 2. 第二季度预测
442
- 3. 议程第二项:项目进展
443
- 1. 核心功能完成度
444
- 2. 下一步里程碑
445
-
446
- **任务列表:**
447
-
448
- - [x] 会议材料准备
449
- - [x] 会议室预订
450
- - [ ] 会后纪要分发
451
- - [ ] 行动项跟进
452
-
453
- ### 代码块样式
454
-
455
- ```python
456
- def generate_meeting_minutes(attendees, topics, decisions):
457
- """
458
- 生成会议纪要
459
- """
460
- minutes = {
461
- "date": datetime.now(),
462
- "attendees": attendees,
463
- "topics": topics,
464
- "decisions": decisions,
465
- "action_items": []
466
- }
467
- return minutes
468
- ```
469
-
470
- ```javascript
471
- // JavaScript 示例
472
- const meeting = {
473
- title: "Sprint Planning",
474
- duration: "2 hours",
475
- participants: ["Alice", "Bob", "Charlie"]
476
- };
477
- ```
478
-
479
- ### 表格样式
480
-
481
- | 项目 | 负责人 | 截止日期 | 状态 |
482
- |------|--------|----------|------|
483
- | 用户调研 | 张三 | 2025-06-15 | ✅ 已完成 |
484
- | 原型设计 | 李四 | 2025-06-20 | 🔄 进行中 |
485
- | 开发实现 | 王五 | 2025-07-15 | ⏳ 未开始 |
486
- | 测试验收 | 赵六 | 2025-07-30 | ⏳ 未开始 |
487
-
488
- | Header 1 | Header 2 | Header 3 |
489
- |----------|----------|----------|
490
- | Cell 1 | Cell 2 | Cell 3 |
491
- | Cell 4 | Cell 5 | Cell 6 |
492
-
493
- ---
494
-
495
- ### Mermaid 图表
496
-
497
- ```mermaid
498
- graph TD
499
- A[会议开始] --> B[议程介绍]
500
- B --> C[财务报告]
501
- B --> D[项目进展]
502
- B --> E[其他事项]
503
- C --> F[决策1]
504
- D --> G[决策2]
505
- E --> H[决策3]
506
- F --> I[行动项分配]
507
- G --> I
508
- H --> I
509
- I --> J[下次会议安排]
510
- ```
511
-
512
- ```mermaid
513
- sequenceDiagram
514
- participant 主持人
515
- participant 张三
516
- participant 李四
517
- 主持人->>张三: 请介绍财务情况
518
- 张三->>所有人: Q1营收增长15%
519
- 李四->>所有人: 建议增加营销预算
520
- 主持人->>所有人: 通过决议
521
- ```
522
-
523
- ---
524
-
525
- ### 数学公式
526
-
527
- $$
528
- \int_{a}^{b} f(x) \, dx = F(b) - F(a)
529
- $$
530
-
531
- $$
532
- E = mc^2
533
- $$
534
-
535
- ---
536
-
537
- ### 分隔线
538
-
539
- ---
540
-
541
- ### 行内元素变体
542
-
543
- | 样式 | 示例 |
544
- |------|------|
545
- | 代码 | `const x = 10;` |
546
- | 强调 | *重要内容* |
547
- | 加粗 | **必须完成** |
548
- | 标记 | ==高亮显示== |
549
- | 下标 | H~2~O |
550
- | 上标 | x^2^ |
551
-
552
- ---
553
-
554
- ### YAML Frontmatter 示例
555
-
556
- ```yaml
557
- ---
558
- title: 项目周会纪要
559
- date: 2025-05-25
560
- location: 会议室 A305
561
- attendees:
562
- - 张三 (产品经理)
563
- - 李四 (技术负责人)
564
- - 王五 (设计师)
565
- decisions:
566
- - 同意增加前端开发人员
567
- - 下周启动用户调研
568
- action_items:
569
- - { owner: 李四, task: 完成技术方案, due: 2025-06-01 }
570
- - { owner: 王五, task: 提供设计稿, due: 2025-06-05 }
571
- ---
572
- ```
573
-
574
- ---
575
-
576
- ### 脚注示例
577
-
578
- 这是一个包含脚注的段落。会议决议需要所有核心成员确认[^1],并在会后24小时内分发纪要[^2]。
579
-
580
- [^1]: 核心成员指产品、技术、设计负责人
581
- [^2]: 分发渠道:企业微信 + 邮件
582
-
583
- ---
584
-
585
- ### 定义列表
586
-
587
- **Term 1**
588
- : Definition 1a
589
- : Definition 1b
590
-
591
- **Term 2**
592
- : Definition 2a
593
-
594
- ---
595
-
596
- <div style="margin-top: 3rem; padding: 1rem; background: var(--seed-panel); border-left: 4px solid var(--seed-accent); border-radius: var(--radius-md);">
597
- <strong>💡 提示:</strong> 这个主题使用了 <code>macaron-blueberry</code> 配色方案,特点是柔和的蓝色强调色搭配干净的白色背景,适合正式文档和会议纪要。
598
- </div>
599
-
600
- </script>
601
-
602
- <script>
603
- async function renderContent() {
604
- mermaid.initialize({ startOnLoad: false, theme: 'default' });
605
- const md = document.getElementById('demo-content').textContent;
606
- const html = marked.parse(md);
607
- document.getElementById('content').innerHTML = html;
608
- mermaid.init(undefined, document.querySelectorAll('.mermaid'));
609
- const headings = document.querySelectorAll('#content h1, #content h2, #content h3');
610
- const toc = document.getElementById('toc');
611
- headings.forEach(h => {
612
- const id = h.id || h.textContent.toLowerCase().replace(/\s+/g, '-');
613
- h.id = id;
614
- const li = document.createElement('li');
615
- li.style.marginLeft = (parseInt(h.tagName[1]) - 1) * 1 + 'rem';
616
- li.innerHTML = '<a href="#' + id + '">' + h.textContent + '</a>';
617
- toc.appendChild(li);
618
- });
619
- }
620
- renderContent();
621
- </script>
622
- </body>
623
- </html>