@hiai-gg/hiai-opencode 0.2.1 → 0.2.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.
Files changed (477) hide show
  1. package/.env.example +4 -0
  2. package/AGENTS.md +34 -38
  3. package/ARCHITECTURE.md +4 -3
  4. package/LICENSE.md +14 -0
  5. package/README.md +52 -21
  6. package/config/hiai-opencode.schema.json +11 -13
  7. package/dist/agents/{bob.d.ts → bob/claude.d.ts} +6 -2
  8. package/dist/agents/bob/core.d.ts +6 -0
  9. package/dist/agents/bob/gpt.d.ts +11 -0
  10. package/dist/agents/bob/index.d.ts +3 -0
  11. package/dist/agents/coder/core.d.ts +4 -0
  12. package/dist/agents/coder/gpt.d.ts +1 -4
  13. package/dist/agents/coder/index.d.ts +1 -0
  14. package/dist/agents/manager/agent.d.ts +1 -1
  15. package/dist/agents/manager/default-prompt-sections.d.ts +3 -3
  16. package/dist/agents/manager/guard-integration.d.ts +1 -0
  17. package/dist/agents/prompt-library/index.d.ts +0 -1
  18. package/dist/agents/prompt-library/shared-execution.d.ts +9 -0
  19. package/dist/agents/strategist/behavioral-summary.d.ts +1 -1
  20. package/dist/agents/strategist/identity-constraints.d.ts +1 -1
  21. package/dist/agents/strategist/plan-generation.d.ts +1 -1
  22. package/dist/agents/types.d.ts +2 -1
  23. package/dist/config/defaults.d.ts +1 -0
  24. package/dist/config/platform-schema.d.ts +26 -26
  25. package/dist/config/schema/agent-names.d.ts +6 -6
  26. package/dist/config/schema/agent-overrides.d.ts +0 -128
  27. package/dist/config/schema/hiai-opencode-config.d.ts +0 -128
  28. package/dist/config/types.d.ts +2 -2
  29. package/dist/features/background-agent/manager-notifier.d.ts +46 -0
  30. package/dist/features/background-agent/manager-types.d.ts +40 -0
  31. package/dist/features/background-agent/manager.d.ts +3 -19
  32. package/dist/features/background-agent/polling-manager.d.ts +51 -0
  33. package/dist/features/boulder-state/storage.d.ts +1 -0
  34. package/dist/features/builtin-commands/templates/loop.d.ts +2 -0
  35. package/dist/features/builtin-commands/templates/start-work.d.ts +1 -1
  36. package/dist/features/builtin-skills/skills/interview-me.d.ts +2 -0
  37. package/dist/features/builtin-skills/skills/planning-and-task-breakdown.d.ts +2 -0
  38. package/dist/hooks/reasoning-content-cache/hook.d.ts +11 -0
  39. package/dist/hooks/reasoning-content-cache/index.d.ts +1 -0
  40. package/dist/hooks/session-recovery/checkpoint.d.ts +48 -0
  41. package/dist/hooks/session-recovery/enhanced-hook.d.ts +30 -0
  42. package/dist/hooks/session-recovery/state-backup.d.ts +76 -0
  43. package/dist/hooks/shared/compaction-in-progress.d.ts +4 -0
  44. package/dist/hooks/start-work/git-operations.d.ts +47 -0
  45. package/dist/hooks/token-budget.d.ts +30 -0
  46. package/dist/index.js +1185 -1078
  47. package/dist/mcp/rate-limiter.d.ts +68 -0
  48. package/dist/plugin/chat-message.d.ts +8 -0
  49. package/dist/plugin/command-execute-before.d.ts +1 -1
  50. package/dist/plugin/event-handlers/message-updated.d.ts +2 -0
  51. package/dist/plugin/event-handlers/session-error.d.ts +2 -0
  52. package/dist/plugin/event-handlers/session-status.d.ts +2 -0
  53. package/dist/plugin/event-handlers/types.d.ts +62 -0
  54. package/dist/plugin/event-handlers/utils.d.ts +11 -0
  55. package/dist/plugin/event.d.ts +1 -1
  56. package/dist/shared/data-path.d.ts +1 -1
  57. package/dist/shared/errors.d.ts +70 -0
  58. package/dist/shared/extract-session-id.d.ts +8 -0
  59. package/dist/shared/git-worktree/get-git-state-summary.d.ts +14 -0
  60. package/dist/shared/index.d.ts +67 -68
  61. package/dist/shared/internal-initiator-marker.d.ts +1 -1
  62. package/dist/shared/logger.d.ts +5 -1
  63. package/dist/shared/reasoning-content-cache.d.ts +68 -0
  64. package/dist/shared/safe-create-hook.d.ts +4 -4
  65. package/dist/tools/call-hiai-agent/constants.d.ts +2 -2
  66. package/dist/tools/delegate-task/sub-agent.d.ts +1 -1
  67. package/dist/tools/look-at/constants.d.ts +1 -1
  68. package/docs/architecture/bob-manager-architecture.md +244 -0
  69. package/docs/hiai-opencode/adr/ADR-001-agent-identity-section-injection.md +66 -0
  70. package/docs/hiai-opencode/adr/ADR-002-anti-loop-guard-priority.md +63 -0
  71. package/docs/hiai-opencode/adr/ADR-003-compaction-mechanism.md +71 -0
  72. package/docs/hiai-opencode/adr/ADR-004-session-recovery.md +76 -0
  73. package/docs/hiai-opencode/api.md +305 -0
  74. package/docs/hiai-opencode/hooks-architecture.md +225 -0
  75. package/docs/hiai-opencode/migration.md +209 -0
  76. package/docs/skill-discovery.md +288 -0
  77. package/package.json +1 -1
  78. package/skills/agent-browser/SKILL.md +193 -0
  79. package/skills/apple-hig/SKILL.md +43 -0
  80. package/skills/article-magazine/SKILL.md +46 -0
  81. package/skills/article-magazine/example.html +81 -0
  82. package/skills/article-magazine/example.md +38 -0
  83. package/skills/canvas-design/SKILL.md +45 -0
  84. package/skills/design-templates/audio-jingle/SKILL.md +132 -0
  85. package/skills/design-templates/audio-jingle/example.html +128 -0
  86. package/skills/design-templates/blog-post/SKILL.md +80 -0
  87. package/skills/design-templates/blog-post/example.html +80 -0
  88. package/skills/design-templates/clinical-case-report/SKILL.md +209 -0
  89. package/skills/design-templates/clinical-case-report/example.html +698 -0
  90. package/skills/design-templates/clinical-case-report/examples/example-stemi.html +698 -0
  91. package/skills/design-templates/clinical-case-report/references/case-formats.md +94 -0
  92. package/skills/design-templates/clinical-case-report/references/checklist.md +41 -0
  93. package/skills/design-templates/critique/SKILL.md +258 -0
  94. package/skills/design-templates/critique/example.html +671 -0
  95. package/skills/design-templates/dashboard/SKILL.md +76 -0
  96. package/skills/design-templates/dashboard/example.html +118 -0
  97. package/skills/design-templates/dating-web/SKILL.md +92 -0
  98. package/skills/design-templates/dating-web/example.html +265 -0
  99. package/skills/design-templates/dcf-valuation/SKILL.md +140 -0
  100. package/skills/design-templates/dcf-valuation/references/sector-wacc.md +42 -0
  101. package/skills/design-templates/digital-eguide/SKILL.md +94 -0
  102. package/skills/design-templates/digital-eguide/example.html +204 -0
  103. package/skills/design-templates/docs-page/SKILL.md +80 -0
  104. package/skills/design-templates/docs-page/example.html +122 -0
  105. package/skills/design-templates/email-marketing/SKILL.md +84 -0
  106. package/skills/design-templates/email-marketing/example.html +159 -0
  107. package/skills/design-templates/eng-runbook/SKILL.md +51 -0
  108. package/skills/design-templates/eng-runbook/example.html +250 -0
  109. package/skills/design-templates/finance-report/SKILL.md +61 -0
  110. package/skills/design-templates/finance-report/example.html +242 -0
  111. package/skills/design-templates/flowai-live-dashboard-template/SKILL.md +87 -0
  112. package/skills/design-templates/flowai-live-dashboard-template/assets/template.html +387 -0
  113. package/skills/design-templates/flowai-live-dashboard-template/example.html +13 -0
  114. package/skills/design-templates/flowai-live-dashboard-template/references/checklist.md +35 -0
  115. package/skills/design-templates/gamified-app/SKILL.md +108 -0
  116. package/skills/design-templates/gamified-app/example.html +292 -0
  117. package/skills/design-templates/github-dashboard/SKILL.md +130 -0
  118. package/skills/design-templates/github-dashboard/example.html +473 -0
  119. package/skills/design-templates/github-dashboard/references/README.md +10 -0
  120. package/skills/design-templates/github-dashboard/references/artifact-example.json +15 -0
  121. package/skills/design-templates/github-dashboard/references/example-data.json +138 -0
  122. package/skills/design-templates/github-dashboard/references/provenance-example.json +92 -0
  123. package/skills/design-templates/github-dashboard/references/template.html +473 -0
  124. package/skills/design-templates/guizang-ppt/LICENSE +21 -0
  125. package/skills/design-templates/guizang-ppt/README.en.md +119 -0
  126. package/skills/design-templates/guizang-ppt/README.md +120 -0
  127. package/skills/design-templates/guizang-ppt/README.pt-BR.md +121 -0
  128. package/skills/design-templates/guizang-ppt/SKILL.md +313 -0
  129. package/skills/design-templates/guizang-ppt/assets/example-slides.html +318 -0
  130. package/skills/design-templates/guizang-ppt/assets/template.html +647 -0
  131. package/skills/design-templates/guizang-ppt/references/checklist.md +265 -0
  132. package/skills/design-templates/guizang-ppt/references/components.md +363 -0
  133. package/skills/design-templates/guizang-ppt/references/layouts.md +630 -0
  134. package/skills/design-templates/guizang-ppt/references/styles.md +195 -0
  135. package/skills/design-templates/guizang-ppt/references/themes.md +122 -0
  136. package/skills/design-templates/hr-onboarding/SKILL.md +52 -0
  137. package/skills/design-templates/hr-onboarding/example.html +219 -0
  138. package/skills/design-templates/html-ppt/.clawscan-allow +12 -0
  139. package/skills/design-templates/html-ppt/LICENSE +21 -0
  140. package/skills/design-templates/html-ppt/README.md +234 -0
  141. package/skills/design-templates/html-ppt/README.pt-BR.md +239 -0
  142. package/skills/design-templates/html-ppt/README.zh-CN.md +238 -0
  143. package/skills/design-templates/html-ppt/SKILL.md +250 -0
  144. package/skills/design-templates/html-ppt/assets/animations/animations.css +138 -0
  145. package/skills/design-templates/html-ppt/assets/animations/fx/_util.js +63 -0
  146. package/skills/design-templates/html-ppt/assets/animations/fx/chain-react.js +41 -0
  147. package/skills/design-templates/html-ppt/assets/animations/fx/confetti-cannon.js +49 -0
  148. package/skills/design-templates/html-ppt/assets/animations/fx/constellation.js +44 -0
  149. package/skills/design-templates/html-ppt/assets/animations/fx/counter-explosion.js +58 -0
  150. package/skills/design-templates/html-ppt/assets/animations/fx/data-stream.js +45 -0
  151. package/skills/design-templates/html-ppt/assets/animations/fx/firework.js +51 -0
  152. package/skills/design-templates/html-ppt/assets/animations/fx/galaxy-swirl.js +33 -0
  153. package/skills/design-templates/html-ppt/assets/animations/fx/gradient-blob.js +39 -0
  154. package/skills/design-templates/html-ppt/assets/animations/fx/knowledge-graph.js +69 -0
  155. package/skills/design-templates/html-ppt/assets/animations/fx/letter-explode.js +50 -0
  156. package/skills/design-templates/html-ppt/assets/animations/fx/magnetic-field.js +40 -0
  157. package/skills/design-templates/html-ppt/assets/animations/fx/matrix-rain.js +33 -0
  158. package/skills/design-templates/html-ppt/assets/animations/fx/neural-net.js +75 -0
  159. package/skills/design-templates/html-ppt/assets/animations/fx/orbit-ring.js +38 -0
  160. package/skills/design-templates/html-ppt/assets/animations/fx/particle-burst.js +42 -0
  161. package/skills/design-templates/html-ppt/assets/animations/fx/shockwave.js +39 -0
  162. package/skills/design-templates/html-ppt/assets/animations/fx/sparkle-trail.js +62 -0
  163. package/skills/design-templates/html-ppt/assets/animations/fx/starfield.js +30 -0
  164. package/skills/design-templates/html-ppt/assets/animations/fx/typewriter-multi.js +51 -0
  165. package/skills/design-templates/html-ppt/assets/animations/fx/word-cascade.js +47 -0
  166. package/skills/design-templates/html-ppt/assets/animations/fx-runtime.js +99 -0
  167. package/skills/design-templates/html-ppt/assets/base.css +150 -0
  168. package/skills/design-templates/html-ppt/assets/fonts.css +9 -0
  169. package/skills/design-templates/html-ppt/assets/runtime.js +960 -0
  170. package/skills/design-templates/html-ppt/assets/themes/academic-paper.css +23 -0
  171. package/skills/design-templates/html-ppt/assets/themes/arctic-cool.css +14 -0
  172. package/skills/design-templates/html-ppt/assets/themes/aurora.css +20 -0
  173. package/skills/design-templates/html-ppt/assets/themes/bauhaus.css +16 -0
  174. package/skills/design-templates/html-ppt/assets/themes/blueprint.css +19 -0
  175. package/skills/design-templates/html-ppt/assets/themes/catppuccin-latte.css +14 -0
  176. package/skills/design-templates/html-ppt/assets/themes/catppuccin-mocha.css +14 -0
  177. package/skills/design-templates/html-ppt/assets/themes/corporate-clean.css +19 -0
  178. package/skills/design-templates/html-ppt/assets/themes/cyberpunk-neon.css +23 -0
  179. package/skills/design-templates/html-ppt/assets/themes/dracula.css +14 -0
  180. package/skills/design-templates/html-ppt/assets/themes/editorial-serif.css +18 -0
  181. package/skills/design-templates/html-ppt/assets/themes/engineering-whiteprint.css +26 -0
  182. package/skills/design-templates/html-ppt/assets/themes/glassmorphism.css +21 -0
  183. package/skills/design-templates/html-ppt/assets/themes/gruvbox-dark.css +14 -0
  184. package/skills/design-templates/html-ppt/assets/themes/japanese-minimal.css +21 -0
  185. package/skills/design-templates/html-ppt/assets/themes/magazine-bold.css +21 -0
  186. package/skills/design-templates/html-ppt/assets/themes/memphis-pop.css +20 -0
  187. package/skills/design-templates/html-ppt/assets/themes/midcentury.css +19 -0
  188. package/skills/design-templates/html-ppt/assets/themes/minimal-white.css +16 -0
  189. package/skills/design-templates/html-ppt/assets/themes/neo-brutalism.css +17 -0
  190. package/skills/design-templates/html-ppt/assets/themes/news-broadcast.css +20 -0
  191. package/skills/design-templates/html-ppt/assets/themes/nord.css +14 -0
  192. package/skills/design-templates/html-ppt/assets/themes/pitch-deck-vc.css +21 -0
  193. package/skills/design-templates/html-ppt/assets/themes/rainbow-gradient.css +16 -0
  194. package/skills/design-templates/html-ppt/assets/themes/retro-tv.css +22 -0
  195. package/skills/design-templates/html-ppt/assets/themes/rose-pine.css +14 -0
  196. package/skills/design-templates/html-ppt/assets/themes/sharp-mono.css +17 -0
  197. package/skills/design-templates/html-ppt/assets/themes/soft-pastel.css +14 -0
  198. package/skills/design-templates/html-ppt/assets/themes/solarized-light.css +14 -0
  199. package/skills/design-templates/html-ppt/assets/themes/sunset-warm.css +14 -0
  200. package/skills/design-templates/html-ppt/assets/themes/swiss-grid.css +17 -0
  201. package/skills/design-templates/html-ppt/assets/themes/terminal-green.css +18 -0
  202. package/skills/design-templates/html-ppt/assets/themes/tokyo-night.css +14 -0
  203. package/skills/design-templates/html-ppt/assets/themes/vaporwave.css +21 -0
  204. package/skills/design-templates/html-ppt/assets/themes/xiaohongshu-white.css +16 -0
  205. package/skills/design-templates/html-ppt/assets/themes/y2k-chrome.css +20 -0
  206. package/skills/design-templates/html-ppt/docs/readme/_theme-cell.html +56 -0
  207. package/skills/design-templates/html-ppt/docs/readme/animations.png +0 -0
  208. package/skills/design-templates/html-ppt/docs/readme/hero.gif +0 -0
  209. package/skills/design-templates/html-ppt/docs/readme/layouts-live.gif +0 -0
  210. package/skills/design-templates/html-ppt/docs/readme/layouts.png +0 -0
  211. package/skills/design-templates/html-ppt/docs/readme/montage-animations.html +61 -0
  212. package/skills/design-templates/html-ppt/docs/readme/montage-layouts.html +72 -0
  213. package/skills/design-templates/html-ppt/docs/readme/montage-templates.html +72 -0
  214. package/skills/design-templates/html-ppt/docs/readme/montage-themes.html +38 -0
  215. package/skills/design-templates/html-ppt/docs/readme/presenter-mode.png +0 -0
  216. package/skills/design-templates/html-ppt/docs/readme/templates.png +0 -0
  217. package/skills/design-templates/html-ppt/docs/readme/themes.png +0 -0
  218. package/skills/design-templates/html-ppt/examples/demo-deck/index.html +161 -0
  219. package/skills/design-templates/html-ppt/references/animations.md +147 -0
  220. package/skills/design-templates/html-ppt/references/authoring-guide.md +141 -0
  221. package/skills/design-templates/html-ppt/references/full-decks.md +98 -0
  222. package/skills/design-templates/html-ppt/references/layouts.md +103 -0
  223. package/skills/design-templates/html-ppt/references/presenter-mode.md +240 -0
  224. package/skills/design-templates/html-ppt/references/themes.md +107 -0
  225. package/skills/design-templates/html-ppt/scripts/new-deck.sh +46 -0
  226. package/skills/design-templates/html-ppt/scripts/render.sh +71 -0
  227. package/skills/design-templates/html-ppt/scripts/verify-output/animation-showcase/animation-showcase_01.png +0 -0
  228. package/skills/design-templates/html-ppt/scripts/verify-output/animation-showcase/animation-showcase_02.png +0 -0
  229. package/skills/design-templates/html-ppt/scripts/verify-output/animation-showcase/animation-showcase_03.png +0 -0
  230. package/skills/design-templates/html-ppt/scripts/verify-output/animation-showcase/animation-showcase_04.png +0 -0
  231. package/skills/design-templates/html-ppt/scripts/verify-output/animation-showcase/animation-showcase_05.png +0 -0
  232. package/skills/design-templates/html-ppt/scripts/verify-output/animation-showcase/animation-showcase_06.png +0 -0
  233. package/skills/design-templates/html-ppt/scripts/verify-output/animation-showcase/animation-showcase_07.png +0 -0
  234. package/skills/design-templates/html-ppt/scripts/verify-output/animation-showcase/animation-showcase_08.png +0 -0
  235. package/skills/design-templates/html-ppt/scripts/verify-output/animation-showcase/animation-showcase_09.png +0 -0
  236. package/skills/design-templates/html-ppt/scripts/verify-output/animation-showcase/animation-showcase_10.png +0 -0
  237. package/skills/design-templates/html-ppt/scripts/verify-output/animation-showcase/animation-showcase_11.png +0 -0
  238. package/skills/design-templates/html-ppt/scripts/verify-output/animation-showcase/animation-showcase_12.png +0 -0
  239. package/skills/design-templates/html-ppt/scripts/verify-output/animation-showcase/animation-showcase_13.png +0 -0
  240. package/skills/design-templates/html-ppt/scripts/verify-output/animation-showcase/animation-showcase_14.png +0 -0
  241. package/skills/design-templates/html-ppt/scripts/verify-output/animation-showcase/animation-showcase_15.png +0 -0
  242. package/skills/design-templates/html-ppt/scripts/verify-output/animation-showcase/animation-showcase_16.png +0 -0
  243. package/skills/design-templates/html-ppt/scripts/verify-output/animation-showcase/animation-showcase_17.png +0 -0
  244. package/skills/design-templates/html-ppt/scripts/verify-output/animation-showcase/animation-showcase_18.png +0 -0
  245. package/skills/design-templates/html-ppt/scripts/verify-output/animation-showcase/animation-showcase_19.png +0 -0
  246. package/skills/design-templates/html-ppt/scripts/verify-output/animation-showcase/animation-showcase_20.png +0 -0
  247. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_01.png +0 -0
  248. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_02.png +0 -0
  249. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_03.png +0 -0
  250. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_04.png +0 -0
  251. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_05.png +0 -0
  252. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_06.png +0 -0
  253. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_07.png +0 -0
  254. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_08.png +0 -0
  255. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_09.png +0 -0
  256. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_10.png +0 -0
  257. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_11.png +0 -0
  258. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_12.png +0 -0
  259. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_13.png +0 -0
  260. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_14.png +0 -0
  261. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_15.png +0 -0
  262. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_16.png +0 -0
  263. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_17.png +0 -0
  264. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_18.png +0 -0
  265. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_19.png +0 -0
  266. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_20.png +0 -0
  267. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_21.png +0 -0
  268. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_22.png +0 -0
  269. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_23.png +0 -0
  270. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_24.png +0 -0
  271. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_25.png +0 -0
  272. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_26.png +0 -0
  273. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_27.png +0 -0
  274. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_28.png +0 -0
  275. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_29.png +0 -0
  276. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_30.png +0 -0
  277. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_31.png +0 -0
  278. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_32.png +0 -0
  279. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_33.png +0 -0
  280. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_34.png +0 -0
  281. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_35.png +0 -0
  282. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_36.png +0 -0
  283. package/skills/design-templates/html-ppt/templates/animation-showcase.html +172 -0
  284. package/skills/design-templates/html-ppt/templates/deck.html +69 -0
  285. package/skills/design-templates/html-ppt/templates/full-decks/course-module/README.md +8 -0
  286. package/skills/design-templates/html-ppt/templates/full-decks/course-module/index.html +189 -0
  287. package/skills/design-templates/html-ppt/templates/full-decks/course-module/style.css +46 -0
  288. package/skills/design-templates/html-ppt/templates/full-decks/dir-key-nav-minimal/README.md +11 -0
  289. package/skills/design-templates/html-ppt/templates/full-decks/dir-key-nav-minimal/index.html +138 -0
  290. package/skills/design-templates/html-ppt/templates/full-decks/dir-key-nav-minimal/style.css +60 -0
  291. package/skills/design-templates/html-ppt/templates/full-decks/graphify-dark-graph/README.md +11 -0
  292. package/skills/design-templates/html-ppt/templates/full-decks/graphify-dark-graph/index.html +180 -0
  293. package/skills/design-templates/html-ppt/templates/full-decks/graphify-dark-graph/style.css +54 -0
  294. package/skills/design-templates/html-ppt/templates/full-decks/hermes-cyber-terminal/README.md +11 -0
  295. package/skills/design-templates/html-ppt/templates/full-decks/hermes-cyber-terminal/index.html +199 -0
  296. package/skills/design-templates/html-ppt/templates/full-decks/hermes-cyber-terminal/style.css +55 -0
  297. package/skills/design-templates/html-ppt/templates/full-decks/knowledge-arch-blueprint/README.md +11 -0
  298. package/skills/design-templates/html-ppt/templates/full-decks/knowledge-arch-blueprint/index.html +190 -0
  299. package/skills/design-templates/html-ppt/templates/full-decks/knowledge-arch-blueprint/style.css +49 -0
  300. package/skills/design-templates/html-ppt/templates/full-decks/obsidian-claude-gradient/README.md +11 -0
  301. package/skills/design-templates/html-ppt/templates/full-decks/obsidian-claude-gradient/index.html +144 -0
  302. package/skills/design-templates/html-ppt/templates/full-decks/obsidian-claude-gradient/style.css +59 -0
  303. package/skills/design-templates/html-ppt/templates/full-decks/pitch-deck/README.md +9 -0
  304. package/skills/design-templates/html-ppt/templates/full-decks/pitch-deck/index.html +148 -0
  305. package/skills/design-templates/html-ppt/templates/full-decks/pitch-deck/style.css +40 -0
  306. package/skills/design-templates/html-ppt/templates/full-decks/presenter-mode-reveal/README.md +102 -0
  307. package/skills/design-templates/html-ppt/templates/full-decks/presenter-mode-reveal/index.html +187 -0
  308. package/skills/design-templates/html-ppt/templates/full-decks/presenter-mode-reveal/style.css +216 -0
  309. package/skills/design-templates/html-ppt/templates/full-decks/product-launch/README.md +8 -0
  310. package/skills/design-templates/html-ppt/templates/full-decks/product-launch/index.html +121 -0
  311. package/skills/design-templates/html-ppt/templates/full-decks/product-launch/style.css +39 -0
  312. package/skills/design-templates/html-ppt/templates/full-decks/tech-sharing/README.md +8 -0
  313. package/skills/design-templates/html-ppt/templates/full-decks/tech-sharing/index.html +156 -0
  314. package/skills/design-templates/html-ppt/templates/full-decks/tech-sharing/style.css +49 -0
  315. package/skills/design-templates/html-ppt/templates/full-decks/testing-safety-alert/README.md +11 -0
  316. package/skills/design-templates/html-ppt/templates/full-decks/testing-safety-alert/index.html +183 -0
  317. package/skills/design-templates/html-ppt/templates/full-decks/testing-safety-alert/style.css +62 -0
  318. package/skills/design-templates/html-ppt/templates/full-decks/weekly-report/README.md +8 -0
  319. package/skills/design-templates/html-ppt/templates/full-decks/weekly-report/index.html +127 -0
  320. package/skills/design-templates/html-ppt/templates/full-decks/weekly-report/style.css +55 -0
  321. package/skills/design-templates/html-ppt/templates/full-decks/xhs-pastel-card/README.md +11 -0
  322. package/skills/design-templates/html-ppt/templates/full-decks/xhs-pastel-card/index.html +147 -0
  323. package/skills/design-templates/html-ppt/templates/full-decks/xhs-pastel-card/style.css +66 -0
  324. package/skills/design-templates/html-ppt/templates/full-decks/xhs-post/README.md +9 -0
  325. package/skills/design-templates/html-ppt/templates/full-decks/xhs-post/index.html +133 -0
  326. package/skills/design-templates/html-ppt/templates/full-decks/xhs-post/style.css +47 -0
  327. package/skills/design-templates/html-ppt/templates/full-decks/xhs-white-editorial/README.md +11 -0
  328. package/skills/design-templates/html-ppt/templates/full-decks/xhs-white-editorial/index.html +187 -0
  329. package/skills/design-templates/html-ppt/templates/full-decks/xhs-white-editorial/style.css +63 -0
  330. package/skills/design-templates/html-ppt/templates/full-decks-index.html +82 -0
  331. package/skills/design-templates/html-ppt/templates/layout-showcase.html +47 -0
  332. package/skills/design-templates/html-ppt/templates/single-page/arch-diagram.html +46 -0
  333. package/skills/design-templates/html-ppt/templates/single-page/big-quote.html +18 -0
  334. package/skills/design-templates/html-ppt/templates/single-page/bullets.html +19 -0
  335. package/skills/design-templates/html-ppt/templates/single-page/chart-bar.html +30 -0
  336. package/skills/design-templates/html-ppt/templates/single-page/chart-line.html +35 -0
  337. package/skills/design-templates/html-ppt/templates/single-page/chart-pie.html +36 -0
  338. package/skills/design-templates/html-ppt/templates/single-page/chart-radar.html +31 -0
  339. package/skills/design-templates/html-ppt/templates/single-page/code.html +33 -0
  340. package/skills/design-templates/html-ppt/templates/single-page/comparison.html +47 -0
  341. package/skills/design-templates/html-ppt/templates/single-page/cover.html +32 -0
  342. package/skills/design-templates/html-ppt/templates/single-page/cta.html +27 -0
  343. package/skills/design-templates/html-ppt/templates/single-page/diff.html +35 -0
  344. package/skills/design-templates/html-ppt/templates/single-page/flow-diagram.html +33 -0
  345. package/skills/design-templates/html-ppt/templates/single-page/gantt.html +29 -0
  346. package/skills/design-templates/html-ppt/templates/single-page/image-grid.html +34 -0
  347. package/skills/design-templates/html-ppt/templates/single-page/image-hero.html +33 -0
  348. package/skills/design-templates/html-ppt/templates/single-page/kpi-grid.html +19 -0
  349. package/skills/design-templates/html-ppt/templates/single-page/mindmap.html +38 -0
  350. package/skills/design-templates/html-ppt/templates/single-page/process-steps.html +27 -0
  351. package/skills/design-templates/html-ppt/templates/single-page/pros-cons.html +31 -0
  352. package/skills/design-templates/html-ppt/templates/single-page/roadmap.html +46 -0
  353. package/skills/design-templates/html-ppt/templates/single-page/section-divider.html +17 -0
  354. package/skills/design-templates/html-ppt/templates/single-page/stat-highlight.html +17 -0
  355. package/skills/design-templates/html-ppt/templates/single-page/table.html +33 -0
  356. package/skills/design-templates/html-ppt/templates/single-page/terminal.html +35 -0
  357. package/skills/design-templates/html-ppt/templates/single-page/thanks.html +21 -0
  358. package/skills/design-templates/html-ppt/templates/single-page/three-column.html +18 -0
  359. package/skills/design-templates/html-ppt/templates/single-page/timeline.html +32 -0
  360. package/skills/design-templates/html-ppt/templates/single-page/toc.html +26 -0
  361. package/skills/design-templates/html-ppt/templates/single-page/todo-checklist.html +33 -0
  362. package/skills/design-templates/html-ppt/templates/single-page/two-column.html +39 -0
  363. package/skills/design-templates/html-ppt/templates/theme-showcase.html +151 -0
  364. package/skills/design-templates/html-ppt-course-module/SKILL.md +78 -0
  365. package/skills/design-templates/html-ppt-course-module/example.html +542 -0
  366. package/skills/design-templates/html-ppt-dir-key-nav-minimal/SKILL.md +77 -0
  367. package/skills/design-templates/html-ppt-dir-key-nav-minimal/example.html +366 -0
  368. package/skills/design-templates/html-ppt-graphify-dark-graph/SKILL.md +77 -0
  369. package/skills/design-templates/html-ppt-graphify-dark-graph/example.html +402 -0
  370. package/skills/design-templates/html-ppt-hermes-cyber-terminal/SKILL.md +77 -0
  371. package/skills/design-templates/html-ppt-hermes-cyber-terminal/example.html +422 -0
  372. package/skills/design-templates/html-ppt-knowledge-arch-blueprint/SKILL.md +77 -0
  373. package/skills/design-templates/html-ppt-knowledge-arch-blueprint/example.html +407 -0
  374. package/skills/design-templates/html-ppt-obsidian-claude-gradient/SKILL.md +77 -0
  375. package/skills/design-templates/html-ppt-obsidian-claude-gradient/example.html +371 -0
  376. package/skills/design-templates/html-ppt-pitch-deck/SKILL.md +78 -0
  377. package/skills/design-templates/html-ppt-pitch-deck/example.html +495 -0
  378. package/skills/design-templates/html-ppt-presenter-mode-reveal/SKILL.md +78 -0
  379. package/skills/design-templates/html-ppt-presenter-mode-reveal/example.html +725 -0
  380. package/skills/design-templates/html-ppt-product-launch/SKILL.md +77 -0
  381. package/skills/design-templates/html-ppt-product-launch/example.html +467 -0
  382. package/skills/design-templates/html-ppt-taste-brutalist/SKILL.md +70 -0
  383. package/skills/design-templates/html-ppt-taste-brutalist/example.html +774 -0
  384. package/skills/design-templates/html-ppt-taste-editorial/SKILL.md +62 -0
  385. package/skills/design-templates/html-ppt-taste-editorial/example.html +689 -0
  386. package/skills/design-templates/html-ppt-tech-sharing/SKILL.md +77 -0
  387. package/skills/design-templates/html-ppt-tech-sharing/example.html +512 -0
  388. package/skills/design-templates/html-ppt-testing-safety-alert/SKILL.md +78 -0
  389. package/skills/design-templates/html-ppt-testing-safety-alert/example.html +413 -0
  390. package/skills/design-templates/html-ppt-weekly-report/SKILL.md +77 -0
  391. package/skills/design-templates/html-ppt-weekly-report/example.html +489 -0
  392. package/skills/design-templates/html-ppt-xhs-pastel-card/SKILL.md +78 -0
  393. package/skills/design-templates/html-ppt-xhs-pastel-card/example.html +381 -0
  394. package/skills/design-templates/html-ppt-xhs-post/SKILL.md +78 -0
  395. package/skills/design-templates/html-ppt-xhs-post/example.html +487 -0
  396. package/skills/design-templates/html-ppt-xhs-white-editorial/SKILL.md +77 -0
  397. package/skills/design-templates/html-ppt-xhs-white-editorial/example.html +418 -0
  398. package/skills/design-templates/html-ppt-zhangzara-8-bit-orbit/LICENSE +21 -0
  399. package/skills/design-templates/html-ppt-zhangzara-8-bit-orbit/SKILL.md +93 -0
  400. package/skills/design-templates/html-ppt-zhangzara-8-bit-orbit/example.html +1640 -0
  401. package/skills/design-templates/html-ppt-zhangzara-8-bit-orbit/template.json +48 -0
  402. package/skills/design-templates/html-ppt-zhangzara-biennale-yellow/LICENSE +21 -0
  403. package/skills/design-templates/html-ppt-zhangzara-biennale-yellow/SKILL.md +93 -0
  404. package/skills/design-templates/html-ppt-zhangzara-biennale-yellow/example.html +833 -0
  405. package/skills/design-templates/html-ppt-zhangzara-biennale-yellow/template.json +49 -0
  406. package/skills/design-templates/html-ppt-zhangzara-block-frame/LICENSE +21 -0
  407. package/skills/design-templates/html-ppt-zhangzara-block-frame/SKILL.md +93 -0
  408. package/skills/design-templates/html-ppt-zhangzara-block-frame/example.html +1453 -0
  409. package/skills/design-templates/html-ppt-zhangzara-block-frame/template.json +47 -0
  410. package/skills/design-templates/html-ppt-zhangzara-blue-professional/LICENSE +21 -0
  411. package/skills/design-templates/html-ppt-zhangzara-blue-professional/SKILL.md +93 -0
  412. package/skills/design-templates/html-ppt-zhangzara-blue-professional/example.html +1423 -0
  413. package/skills/design-templates/html-ppt-zhangzara-blue-professional/template.json +44 -0
  414. package/skills/design-templates/html-ppt-zhangzara-bold-poster/LICENSE +21 -0
  415. package/skills/design-templates/html-ppt-zhangzara-bold-poster/SKILL.md +93 -0
  416. package/skills/design-templates/html-ppt-zhangzara-bold-poster/example.html +876 -0
  417. package/skills/design-templates/html-ppt-zhangzara-bold-poster/template.json +45 -0
  418. package/skills/design-templates/html-ppt-zhangzara-broadside/LICENSE +21 -0
  419. package/skills/design-templates/html-ppt-zhangzara-broadside/SKILL.md +92 -0
  420. package/skills/design-templates/html-ppt-zhangzara-broadside/example.html +2144 -0
  421. package/skills/design-templates/html-ppt-zhangzara-broadside/template.json +49 -0
  422. package/skills/design-templates/html-ppt-zhangzara-capsule/LICENSE +21 -0
  423. package/skills/design-templates/html-ppt-zhangzara-capsule/SKILL.md +92 -0
  424. package/skills/design-templates/html-ppt-zhangzara-capsule/example.html +1413 -0
  425. package/skills/design-templates/html-ppt-zhangzara-capsule/template.json +51 -0
  426. package/skills/design-templates/html-ppt-zhangzara-cartesian/LICENSE +21 -0
  427. package/skills/design-templates/html-ppt-zhangzara-cartesian/SKILL.md +92 -0
  428. package/skills/design-templates/html-ppt-zhangzara-cartesian/example.html +1136 -0
  429. package/skills/design-templates/html-ppt-zhangzara-cartesian/template.json +47 -0
  430. package/skills/design-templates/html-ppt-zhangzara-cobalt-grid/LICENSE +21 -0
  431. package/skills/design-templates/html-ppt-zhangzara-cobalt-grid/SKILL.md +93 -0
  432. package/skills/design-templates/html-ppt-zhangzara-cobalt-grid/example.html +1205 -0
  433. package/skills/design-templates/html-ppt-zhangzara-cobalt-grid/template.json +49 -0
  434. package/skills/design-templates/html-ppt-zhangzara-coral/LICENSE +21 -0
  435. package/skills/design-templates/html-ppt-zhangzara-coral/SKILL.md +92 -0
  436. package/skills/design-templates/html-ppt-zhangzara-coral/example.html +1487 -0
  437. package/skills/design-templates/html-ppt-zhangzara-coral/template.json +45 -0
  438. package/skills/design-templates/html-ppt-zhangzara-creative-mode/LICENSE +21 -0
  439. package/skills/design-templates/html-ppt-zhangzara-creative-mode/SKILL.md +99 -0
  440. package/skills/design-templates/html-ppt-zhangzara-creative-mode/assets/deck-stage.js +619 -0
  441. package/skills/design-templates/html-ppt-zhangzara-creative-mode/example.html +636 -0
  442. package/skills/design-templates/html-ppt-zhangzara-creative-mode/template.json +47 -0
  443. package/skills/design-templates/html-ppt-zhangzara-daisy-days/LICENSE +21 -0
  444. package/skills/design-templates/html-ppt-zhangzara-daisy-days/SKILL.md +93 -0
  445. package/skills/design-templates/html-ppt-zhangzara-daisy-days/example.html +469 -0
  446. package/skills/design-templates/html-ppt-zhangzara-daisy-days/template.json +54 -0
  447. package/skills/design-templates/html-ppt-zhangzara-editorial-tri-tone/LICENSE +21 -0
  448. package/skills/design-templates/html-ppt-zhangzara-editorial-tri-tone/SKILL.md +98 -0
  449. package/skills/design-templates/html-ppt-zhangzara-editorial-tri-tone/assets/deck-stage.js +619 -0
  450. package/skills/design-templates/html-ppt-zhangzara-editorial-tri-tone/example.html +737 -0
  451. package/skills/design-templates/html-ppt-zhangzara-editorial-tri-tone/template.json +44 -0
  452. package/skills/design-templates/html-ppt-zhangzara-grove/LICENSE +21 -0
  453. package/skills/design-templates/html-ppt-zhangzara-grove/SKILL.md +92 -0
  454. package/skills/design-templates/html-ppt-zhangzara-grove/example.html +1676 -0
  455. package/skills/design-templates/html-ppt-zhangzara-grove/template.json +51 -0
  456. package/skills/figma-code-connect-components/SKILL.md +42 -0
  457. package/skills/figma-create-design-system-rules/SKILL.md +42 -0
  458. package/skills/figma-create-new-file/SKILL.md +41 -0
  459. package/skills/figma-generate-design/SKILL.md +42 -0
  460. package/skills/figma-generate-library/SKILL.md +42 -0
  461. package/skills/figma-implement-design/SKILL.md +42 -0
  462. package/skills/figma-use/SKILL.md +42 -0
  463. package/skills/full-page-screenshot/SKILL.md +42 -0
  464. package/skills/interview-me/SKILL.md +64 -0
  465. package/skills/planning-and-task-breakdown/SKILL.md +52 -0
  466. package/skills/sora/SKILL.md +43 -0
  467. package/skills/theme-factory/SKILL.md +43 -0
  468. package/skills/web-design-guidelines/SKILL.md +42 -0
  469. package/dist/agents/prompt-library/orchestration.d.ts +0 -4
  470. package/skills/brainstorming/SKILL.md +0 -164
  471. package/skills/brainstorming/scripts/frame-template.html +0 -214
  472. package/skills/brainstorming/scripts/helper.js +0 -88
  473. package/skills/brainstorming/scripts/server.cjs +0 -354
  474. package/skills/brainstorming/scripts/start-server.sh +0 -148
  475. package/skills/brainstorming/scripts/stop-server.sh +0 -56
  476. package/skills/brainstorming/spec-document-reviewer-prompt.md +0 -49
  477. package/skills/brainstorming/visual-companion.md +0 -287
@@ -0,0 +1,63 @@
1
+ /* xhs-white-editorial — 白底杂志风 */
2
+ .tpl-xhs-white-editorial{
3
+ --xw-bg:#ffffff;
4
+ --xw-ink:#111318;
5
+ --xw-ink2:#475467;
6
+ --xw-muted:#98a2b3;
7
+ --xw-line:#eaecf3;
8
+ --xw-purple:#7b61ff;
9
+ --xw-pink:#ff5fa2;
10
+ --xw-blue:#4e8cff;
11
+ --xw-green:#17b26a;
12
+ --xw-orange:#ff9d42;
13
+ --xw-soft-purple:#f4efff;
14
+ --xw-soft-pink:#fff0f6;
15
+ --xw-soft-blue:#eef4ff;
16
+ --xw-soft-green:#edfdf3;
17
+ --xw-soft-orange:#fff5ea;
18
+ background:var(--xw-bg);
19
+ color:var(--xw-ink);
20
+ font-family:'Inter','Noto Sans SC','PingFang SC',-apple-system,sans-serif;
21
+ }
22
+ .tpl-xhs-white-editorial .slide{background:#fff;padding:72px 88px}
23
+ .tpl-xhs-white-editorial .xw-topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}
24
+ .tpl-xhs-white-editorial .xw-tag{display:inline-flex;align-items:center;gap:10px;padding:10px 18px;border:1px solid var(--xw-line);border-radius:999px;font-size:15px;color:var(--xw-ink2);background:#fff}
25
+ .tpl-xhs-white-editorial .xw-tag .dot{width:10px;height:10px;border-radius:50%;background:linear-gradient(90deg,#7b61ff,#4e8cff,#17b26a,#ff9d42,#ff5fa2)}
26
+ .tpl-xhs-white-editorial .xw-page{font-size:14px;color:var(--xw-muted);letter-spacing:.1em}
27
+ .tpl-xhs-white-editorial .xw-kicker{font-size:18px;color:var(--xw-ink2);margin-top:6px;font-weight:500}
28
+ .tpl-xhs-white-editorial .xw-title{font-size:84px;line-height:1.02;letter-spacing:-2px;font-weight:850;margin:18px 0 0;color:var(--xw-ink)}
29
+ .tpl-xhs-white-editorial .xw-title-md{font-size:60px;line-height:1.05;letter-spacing:-1.5px;font-weight:800;margin:14px 0 0}
30
+ .tpl-xhs-white-editorial .xw-grad{background:linear-gradient(90deg,#7b61ff 0%,#4e8cff 25%,#17b26a 48%,#ff9d42 72%,#ff5fa2 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
31
+ .tpl-xhs-white-editorial .xw-sub{font-size:24px;line-height:1.45;color:#1f2937;margin-top:22px;max-width:900px}
32
+ .tpl-xhs-white-editorial .xw-focus{display:inline-block;padding:6px 14px;border-radius:14px;background:#111318;color:#fff;font-weight:700}
33
+ .tpl-xhs-white-editorial .xw-focus-blue{display:inline-block;padding:6px 14px;border-radius:14px;background:var(--xw-soft-blue);color:#174ea6;font-weight:700}
34
+ .tpl-xhs-white-editorial .xw-focus-pink{display:inline-block;padding:6px 14px;border-radius:14px;background:var(--xw-soft-pink);color:#c11574;font-weight:700}
35
+ .tpl-xhs-white-editorial .xw-focus-orange{display:inline-block;padding:6px 14px;border-radius:14px;background:var(--xw-soft-orange);color:#b54708;font-weight:700}
36
+ .tpl-xhs-white-editorial .xw-focus-green{display:inline-block;padding:6px 14px;border-radius:14px;background:var(--xw-soft-green);color:#067647;font-weight:700}
37
+ .tpl-xhs-white-editorial .xw-hero{margin-top:28px;border:1px solid var(--xw-line);border-radius:28px;padding:30px 34px;background:linear-gradient(180deg,#fff 0%,#fcfcff 100%);box-shadow:0 18px 48px rgba(17,19,24,.08)}
38
+ .tpl-xhs-white-editorial .xw-quote{font-size:38px;line-height:1.3;font-weight:800;letter-spacing:-.5px}
39
+ .tpl-xhs-white-editorial .xw-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:22px}
40
+ .tpl-xhs-white-editorial .xw-grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;margin-top:22px}
41
+ .tpl-xhs-white-editorial .xw-card{border:1px solid var(--xw-line);border-radius:24px;padding:24px 26px;box-shadow:0 10px 24px rgba(17,19,24,.04);background:#fff}
42
+ .tpl-xhs-white-editorial .xw-card.soft-purple{background:var(--xw-soft-purple)}
43
+ .tpl-xhs-white-editorial .xw-card.soft-pink{background:var(--xw-soft-pink)}
44
+ .tpl-xhs-white-editorial .xw-card.soft-blue{background:var(--xw-soft-blue)}
45
+ .tpl-xhs-white-editorial .xw-card.soft-green{background:var(--xw-soft-green)}
46
+ .tpl-xhs-white-editorial .xw-card.soft-orange{background:var(--xw-soft-orange)}
47
+ .tpl-xhs-white-editorial .xw-label{font-size:14px;font-weight:800;opacity:.7;margin-bottom:10px;letter-spacing:.08em;text-transform:uppercase}
48
+ .tpl-xhs-white-editorial .xw-card .main{font-size:28px;line-height:1.22;font-weight:850;letter-spacing:-.5px}
49
+ .tpl-xhs-white-editorial .xw-card .desc{font-size:16px;line-height:1.5;color:#475467;margin-top:12px}
50
+ .tpl-xhs-white-editorial .xw-steps{margin-top:18px}
51
+ .tpl-xhs-white-editorial .xw-step{display:flex;gap:18px;align-items:flex-start;margin:16px 0}
52
+ .tpl-xhs-white-editorial .xw-num{flex:0 0 48px;height:48px;border-radius:50%;background:#111318;color:#fff;display:grid;place-items:center;font-size:20px;font-weight:900}
53
+ .tpl-xhs-white-editorial .xw-txt{font-size:22px;line-height:1.45;font-weight:700}
54
+ .tpl-xhs-white-editorial .xw-codebox{background:#0f1117;color:#e4e2d8;border-radius:18px;padding:22px 26px;font-family:'JetBrains Mono',monospace;font-size:15px;line-height:1.75;margin-top:20px;border:1px solid #1f222c}
55
+ .tpl-xhs-white-editorial .xw-codebox .cm{color:#6b6a62}
56
+ .tpl-xhs-white-editorial .xw-codebox .kw{color:#c88f64}
57
+ .tpl-xhs-white-editorial .xw-codebox .st{color:#a8c292}
58
+ .tpl-xhs-white-editorial .xw-codebox .hl{color:#e9c58a;font-weight:600}
59
+ .tpl-xhs-white-editorial .xw-footer{position:absolute;left:88px;right:88px;bottom:44px;display:flex;justify-content:space-between;align-items:flex-end;font-size:13px;color:var(--xw-muted)}
60
+ .tpl-xhs-white-editorial .xw-topline{position:absolute;top:0;left:0;right:0;height:5px;background:linear-gradient(90deg,#6366f1,#8b5cf6,#a855f7,#ec4899,#f43f5e,#f97316,#eab308,#22c55e,#06b6d4,#6366f1)}
61
+ .tpl-xhs-white-editorial .xw-pill{display:inline-block;padding:8px 16px;border-radius:999px;font-size:14px;font-weight:700;margin:0 8px 8px 0;background:#fff;border:1px solid var(--xw-line);color:#394150}
62
+ .tpl-xhs-white-editorial .xw-big-stat{font-size:96px;font-weight:900;letter-spacing:-4px;line-height:1}
63
+ .tpl-xhs-white-editorial .xw-big-stat small{font-size:22px;color:var(--xw-muted);font-weight:700;letter-spacing:0;margin-left:6px}
@@ -0,0 +1,82 @@
1
+ <!DOCTYPE html>
2
+ <html lang="zh-CN">
3
+ <head>
4
+ <meta charset="utf-8"><title>Full-Deck Gallery — html-ppt v2</title>
5
+ <link rel="stylesheet" href="../assets/fonts.css">
6
+ <link rel="stylesheet" href="../assets/base.css">
7
+ <style>
8
+ html,body{background:#0b0c10;color:#e8ebf4;font-family:var(--font-sans)}
9
+ .deck{background:#0b0c10}
10
+ .slide{padding:60px 80px;color:#e8ebf4;background:transparent;display:flex;flex-direction:column}
11
+ .slide h1{color:#fff;font-size:48px;margin:0 0 6px;letter-spacing:-.02em}
12
+ .slide .sub{color:#aab0c0;font-size:18px;margin:0 0 22px}
13
+ .frame-wrap{flex:1;border-radius:14px;overflow:hidden;border:1px solid rgba(255,255,255,.12);
14
+ box-shadow:0 30px 80px rgba(0,0,0,.5);position:relative;background:#fff}
15
+ iframe.tpl{position:absolute;inset:0;width:200%;height:200%;border:0;
16
+ transform:scale(.5);transform-origin:top left}
17
+ .meta{position:absolute;top:24px;right:40px;font-family:'JetBrains Mono',monospace;
18
+ font-size:12px;color:#6a7086;letter-spacing:.14em;text-transform:uppercase;z-index:30}
19
+ .tag{display:inline-block;padding:4px 10px;border-radius:999px;background:rgba(255,255,255,.08);
20
+ color:#cfd3dc;font-size:11px;margin-right:6px}
21
+ .cover{align-items:center;justify-content:center;text-align:center}
22
+ .cover h1{font-size:84px;background:linear-gradient(135deg,#60a5fa,#a78bfa,#f472b6);
23
+ -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
24
+ .cover p{color:#aab0c0;max-width:60ch;font-size:20px}
25
+ .legend{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
26
+ </style>
27
+ </head>
28
+ <body>
29
+ <div class="deck">
30
+
31
+ <section class="slide cover">
32
+ <p class="kicker" style="color:#a78bfa">HTML-PPT v2 · Full-Deck Gallery</p>
33
+ <h1>14 full-deck templates</h1>
34
+ <p>Press → to browse. Each slide is a live iframe preview of a complete, multi-slide deck template. Open any <code>templates/full-decks/&lt;name&gt;/index.html</code> to see the full deck, or copy the folder to scaffold your own.</p>
35
+ <div class="legend">
36
+ <span class="tag">8 extracted from real decks</span>
37
+ <span class="tag">6 scenario scaffolds</span>
38
+ <span class="tag">scoped .tpl-&lt;name&gt; CSS</span>
39
+ <span class="tag">36 themes compatible</span>
40
+ </div>
41
+ </section>
42
+
43
+ <!-- Template preview slides generated via JS below -->
44
+
45
+ </div>
46
+
47
+ <script>
48
+ const TPLS = [
49
+ ['xhs-white-editorial', '白底杂志风', 'extracted', 'xhs posts, editorial lifestyle'],
50
+ ['graphify-dark-graph', '暗底知识图谱', 'extracted', 'AI/graph/data products'],
51
+ ['knowledge-arch-blueprint', '奶油蓝图架构', 'extracted', 'architecture, systems thinking'],
52
+ ['hermes-cyber-terminal', '暗终端 cyber', 'extracted', 'devtool, honest-review, agent demos'],
53
+ ['obsidian-claude-gradient', 'GitHub 暗紫渐变', 'extracted', 'tool walkthroughs, LLM product'],
54
+ ['testing-safety-alert', '红琥珀警示', 'extracted', 'security, incident review, AI safety'],
55
+ ['xhs-pastel-card', '柔和马卡龙', 'extracted', 'lifestyle, soft emotional'],
56
+ ['dir-key-nav-minimal', '方向键 8 色极简', 'extracted', 'keynote, one-idea-per-slide'],
57
+ ['pitch-deck', 'Pitch Deck YC 风', 'scenario', 'fundraising, startup pitch'],
58
+ ['product-launch', 'Product Launch', 'scenario', 'product announcement, launch keynote'],
59
+ ['tech-sharing', 'Tech Sharing 技术分享','scenario','internal tech talk, conference talk'],
60
+ ['weekly-report', 'Weekly Report 周报','scenario', 'status update, business review'],
61
+ ['xhs-post', '小红书 图文 9 屏 3:4','scenario', 'xiaohongshu / ig carousel'],
62
+ ['course-module', 'Course Module 教学模块','scenario','online course, workshop module'],
63
+ ['presenter-mode-reveal', '🎤 Presenter Mode 演讲者模式','scenario','tech sharing, talk with 逐字稿, speaker view']
64
+ ];
65
+
66
+ const deck = document.querySelector('.deck');
67
+ TPLS.forEach((t,i)=>{
68
+ const s = document.createElement('section');
69
+ s.className = 'slide';
70
+ s.setAttribute('data-title',t[0]);
71
+ s.innerHTML = `
72
+ <span class="meta">${i+1}/${TPLS.length+1}</span>
73
+ <h1>${t[0]}</h1>
74
+ <p class="sub">${t[1]} · <span class="tag">${t[2]}</span> ${t[3]}</p>
75
+ <div class="frame-wrap">
76
+ <iframe class="tpl" src="full-decks/${t[0]}/index.html" loading="eager" title="${t[0]}"></iframe>
77
+ </div>`;
78
+ deck.appendChild(s);
79
+ });
80
+ </script>
81
+ <script src="../assets/runtime.js"></script>
82
+ </body></html>
@@ -0,0 +1,47 @@
1
+ <!DOCTYPE html>
2
+ <html lang="zh-CN">
3
+ <head>
4
+ <meta charset="utf-8"><title>Layout Showcase — html-ppt</title>
5
+ <link rel="stylesheet" href="../assets/fonts.css">
6
+ <link rel="stylesheet" href="../assets/base.css">
7
+ <link rel="stylesheet" id="theme-link" href="../assets/themes/minimal-white.css">
8
+ <link rel="stylesheet" href="../assets/animations/animations.css">
9
+ <style>
10
+ .layout-nav{position:fixed;top:16px;left:50%;transform:translateX(-50%);z-index:50;background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:8px 20px;font-family:var(--font-mono);font-size:12px;color:var(--text-2);box-shadow:var(--shadow);display:flex;gap:14px;align-items:center}
11
+ .layout-nav a{color:var(--text-2);text-decoration:none;padding:4px 10px;border-radius:999px}
12
+ .layout-nav a:hover{background:var(--surface-2)}
13
+ iframe{width:100%;height:100vh;border:0;display:block;background:var(--bg)}
14
+ body{margin:0;overflow:hidden}
15
+ </style>
16
+ </head>
17
+ <body>
18
+ <div class="layout-nav">
19
+ <b>layouts</b>
20
+ <a href="#" data-go="-1">←</a>
21
+ <span id="cur">cover</span>
22
+ <a href="#" data-go="+1">→</a>
23
+ </div>
24
+ <iframe id="frame" src="single-page/cover.html"></iframe>
25
+ <script>
26
+ const list=['cover','toc','section-divider','bullets','two-column','three-column','big-quote',
27
+ 'stat-highlight','kpi-grid','table','code','diff','terminal','flow-diagram','timeline',
28
+ 'roadmap','mindmap','comparison','pros-cons','todo-checklist','gantt','image-hero','image-grid',
29
+ 'chart-bar','chart-line','chart-pie','chart-radar','arch-diagram','process-steps','cta','thanks'];
30
+ let i=0;
31
+ const frame=document.getElementById('frame');
32
+ const cur=document.getElementById('cur');
33
+ function go(n){
34
+ i=(n+list.length)%list.length;
35
+ frame.src='single-page/'+list[i]+'.html';
36
+ cur.textContent=list[i]+' · '+(i+1)+'/'+list.length;
37
+ history.replaceState(null,'','#/'+(i+1));
38
+ }
39
+ document.querySelectorAll('[data-go]').forEach(a=>a.addEventListener('click',e=>{e.preventDefault();go(i+parseInt(a.dataset.go,10))}));
40
+ document.addEventListener('keydown',e=>{
41
+ if(e.key==='ArrowRight'||e.key===' '){go(i+1);e.preventDefault()}
42
+ if(e.key==='ArrowLeft'){go(i-1);e.preventDefault()}
43
+ });
44
+ const m=/^#\/(\d+)/.exec(location.hash||'');
45
+ if(m)go(parseInt(m[1],10)-1);else go(0);
46
+ </script>
47
+ </body></html>
@@ -0,0 +1,46 @@
1
+ <!DOCTYPE html>
2
+ <html lang="zh-CN"><head><meta charset="utf-8"><title>Architecture</title>
3
+ <link rel="stylesheet" href="../../assets/fonts.css">
4
+ <link rel="stylesheet" href="../../assets/base.css">
5
+ <link rel="stylesheet" id="theme-link" href="../../assets/themes/minimal-white.css">
6
+ <link rel="stylesheet" href="../../assets/animations/animations.css">
7
+ <style>
8
+ .arch{margin-top:20px;display:grid;grid-template-rows:auto auto auto;gap:22px}
9
+ .arch .tier{display:grid;grid-template-columns:120px 1fr;align-items:stretch;gap:22px}
10
+ .arch .tname{display:flex;align-items:center;justify-content:center;background:var(--surface-2);border-radius:var(--radius);padding:18px;font-weight:600;font-size:13px;color:var(--text-2);text-transform:uppercase;letter-spacing:.1em;text-align:center}
11
+ .arch .cells{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
12
+ .arch .cells.three{grid-template-columns:repeat(3,1fr)}
13
+ .arch .cell{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px;text-align:center;box-shadow:var(--shadow)}
14
+ .arch .cell .ic{font-size:24px}
15
+ .arch .cell h4{font-size:14px;margin:6px 0 2px}
16
+ .arch .cell p{font-size:11px;color:var(--text-3);margin:0}
17
+ .arch .tier.hl .cell{border-top:3px solid var(--accent)}
18
+ </style>
19
+ </head><body class="single">
20
+ <div class="deck"><section class="slide is-active" data-title="Architecture">
21
+ <p class="kicker">Architecture · 系统总览</p>
22
+ <h2 class="h2">一套三层栈</h2>
23
+ <div class="arch anim-stagger-list" data-anim-target>
24
+ <div class="tier"><div class="tname">UI Layer</div>
25
+ <div class="cells"><div class="cell"><div class="ic">🧱</div><h4>Layouts</h4><p>30 个单页</p></div>
26
+ <div class="cell"><div class="ic">🎨</div><h4>Themes</h4><p>24 tokens 主题</p></div>
27
+ <div class="cell"><div class="ic">✨</div><h4>Animations</h4><p>25 个命名动效</p></div>
28
+ <div class="cell"><div class="ic">⌨️</div><h4>Runtime</h4><p>键盘导航</p></div>
29
+ </div>
30
+ </div>
31
+ <div class="tier hl"><div class="tname">Core · tokens</div>
32
+ <div class="cells three"><div class="cell"><div class="ic">🎯</div><h4>base.css</h4><p>排版 + 网格</p></div>
33
+ <div class="cell"><div class="ic">🔤</div><h4>fonts.css</h4><p>中英字体</p></div>
34
+ <div class="cell"><div class="ic">🪞</div><h4>:root vars</h4><p>语义颜色</p></div>
35
+ </div>
36
+ </div>
37
+ <div class="tier"><div class="tname">Tooling</div>
38
+ <div class="cells three"><div class="cell"><div class="ic">🧪</div><h4>render.sh</h4><p>headless Chrome</p></div>
39
+ <div class="cell"><div class="ic">🆕</div><h4>new-deck.sh</h4><p>脚手架</p></div>
40
+ <div class="cell"><div class="ic">📦</div><h4>AgentSkill</h4><p>Claude 接入点</p></div>
41
+ </div>
42
+ </div>
43
+ </div>
44
+ </section></div>
45
+ <script src="../../assets/runtime.js"></script>
46
+ </body></html>
@@ -0,0 +1,18 @@
1
+ <!DOCTYPE html>
2
+ <html lang="zh-CN"><head><meta charset="utf-8"><title>Big Quote</title>
3
+ <link rel="stylesheet" href="../../assets/fonts.css">
4
+ <link rel="stylesheet" href="../../assets/base.css">
5
+ <link rel="stylesheet" id="theme-link" href="../../assets/themes/editorial-serif.css">
6
+ <link rel="stylesheet" href="../../assets/animations/animations.css">
7
+ </head><body class="single">
8
+ <div class="deck"><section class="slide is-active center tc" data-title="Quote">
9
+ <div style="max-width:1040px">
10
+ <div class="serif" style="font-size:140px;line-height:.9;color:var(--accent);opacity:.6">"</div>
11
+ <blockquote class="serif anim-fade-up" data-anim="fade-up" style="font-size:56px;line-height:1.25;margin:-40px 0 24px;font-style:italic;font-weight:600">
12
+ 好的设计不是把东西加得更多,<br>而是把一切不需要的东西拿掉。
13
+ </blockquote>
14
+ <p class="dim" style="font-size:20px;letter-spacing:.08em">— Dieter Rams</p>
15
+ </div>
16
+ </section></div>
17
+ <script src="../../assets/runtime.js"></script>
18
+ </body></html>
@@ -0,0 +1,19 @@
1
+ <!DOCTYPE html>
2
+ <html lang="zh-CN"><head><meta charset="utf-8"><title>Bullets</title>
3
+ <link rel="stylesheet" href="../../assets/fonts.css">
4
+ <link rel="stylesheet" href="../../assets/base.css">
5
+ <link rel="stylesheet" id="theme-link" href="../../assets/themes/minimal-white.css">
6
+ <link rel="stylesheet" href="../../assets/animations/animations.css">
7
+ </head><body class="single">
8
+ <div class="deck"><section class="slide is-active" data-title="Why">
9
+ <p class="kicker">Why · 为什么</p>
10
+ <h2 class="h2">好的演讲系统,帮你做三件事</h2>
11
+ <p class="lede mb-l">不是做不出漂亮的 slide,是每次都要重新做。</p>
12
+ <ul class="grid g1 anim-stagger-list" style="list-style:none;padding:0;margin:0;gap:14px" data-anim-target>
13
+ <li class="card card-accent"><h4>① 统一设计语言</h4><p class="dim">所有页共用同一套 tokens,字号、颜色、阴影不会跑偏。</p></li>
14
+ <li class="card card-accent"><h4>② 降低复用成本</h4><p class="dim">下一次讲同类话题,复制 deck、换数据、换主题即可。</p></li>
15
+ <li class="card card-accent"><h4>③ 可切换,可演示</h4><p class="dim">按 T 即可循环切主题、按 A 可切动效,汇报现场加分。</p></li>
16
+ </ul>
17
+ </section></div>
18
+ <script src="../../assets/runtime.js"></script>
19
+ </body></html>
@@ -0,0 +1,30 @@
1
+ <!DOCTYPE html>
2
+ <html lang="zh-CN"><head><meta charset="utf-8"><title>Chart · Bar</title>
3
+ <link rel="stylesheet" href="../../assets/fonts.css">
4
+ <link rel="stylesheet" href="../../assets/base.css">
5
+ <link rel="stylesheet" id="theme-link" href="../../assets/themes/minimal-white.css">
6
+ <link rel="stylesheet" href="../../assets/animations/animations.css">
7
+ <script src="https://cdn.jsdelivr.net/npm/chart.js@4.4.3/dist/chart.umd.min.js"></script>
8
+ </head><body class="single">
9
+ <div class="deck"><section class="slide is-active" data-title="Bar chart">
10
+ <p class="kicker">Chart · 柱状图</p>
11
+ <h2 class="h2">季度 MRR 趋势</h2>
12
+ <div class="card mt-l" style="height:520px;padding:28px"><canvas id="c"></canvas></div>
13
+ <script>
14
+ addEventListener('DOMContentLoaded',()=>{
15
+ const css=getComputedStyle(document.documentElement);
16
+ const accent=css.getPropertyValue('--accent').trim();
17
+ const text2=css.getPropertyValue('--text-2').trim();
18
+ const border=css.getPropertyValue('--border').trim();
19
+ new Chart(document.getElementById('c'),{type:'bar',
20
+ data:{labels:['Q1','Q2','Q3','Q4','Q1 +1','Q2 +1','Q3 +1','Q4 +1'],
21
+ datasets:[{label:'MRR (K)',data:[42,58,73,96,124,158,204,261],
22
+ backgroundColor:accent,borderRadius:8,barThickness:36}]},
23
+ options:{plugins:{legend:{labels:{color:text2}}},
24
+ scales:{x:{ticks:{color:text2},grid:{color:border}},
25
+ y:{ticks:{color:text2},grid:{color:border}}}}});
26
+ });
27
+ </script>
28
+ </section></div>
29
+ <script src="../../assets/runtime.js"></script>
30
+ </body></html>
@@ -0,0 +1,35 @@
1
+ <!DOCTYPE html>
2
+ <html lang="zh-CN"><head><meta charset="utf-8"><title>Chart · Line</title>
3
+ <link rel="stylesheet" href="../../assets/fonts.css">
4
+ <link rel="stylesheet" href="../../assets/base.css">
5
+ <link rel="stylesheet" id="theme-link" href="../../assets/themes/minimal-white.css">
6
+ <link rel="stylesheet" href="../../assets/animations/animations.css">
7
+ <script src="https://cdn.jsdelivr.net/npm/chart.js@4.4.3/dist/chart.umd.min.js"></script>
8
+ </head><body class="single">
9
+ <div class="deck"><section class="slide is-active" data-title="Line chart">
10
+ <p class="kicker">Chart · 折线图</p>
11
+ <h2 class="h2">日活与留存并排看</h2>
12
+ <div class="card mt-l" style="height:520px;padding:28px"><canvas id="c"></canvas></div>
13
+ <script>
14
+ addEventListener('DOMContentLoaded',()=>{
15
+ const css=getComputedStyle(document.documentElement);
16
+ const accent=css.getPropertyValue('--accent').trim();
17
+ const acc2=css.getPropertyValue('--accent-2').trim();
18
+ const text2=css.getPropertyValue('--text-2').trim();
19
+ const border=css.getPropertyValue('--border').trim();
20
+ new Chart(document.getElementById('c'),{type:'line',
21
+ data:{labels:['W1','W2','W3','W4','W5','W6','W7','W8','W9','W10','W11','W12'],
22
+ datasets:[
23
+ {label:'DAU (K)',data:[12,14,15,19,24,28,33,38,45,51,58,66],
24
+ borderColor:accent,backgroundColor:accent+'22',fill:true,tension:.4,borderWidth:3,pointRadius:4},
25
+ {label:'Retention %',data:[38,40,42,45,48,50,53,55,58,60,62,64],
26
+ borderColor:acc2,backgroundColor:acc2+'22',fill:true,tension:.4,borderWidth:3,pointRadius:4}
27
+ ]},
28
+ options:{plugins:{legend:{labels:{color:text2}}},
29
+ scales:{x:{ticks:{color:text2},grid:{color:border}},
30
+ y:{ticks:{color:text2},grid:{color:border}}}}});
31
+ });
32
+ </script>
33
+ </section></div>
34
+ <script src="../../assets/runtime.js"></script>
35
+ </body></html>
@@ -0,0 +1,36 @@
1
+ <!DOCTYPE html>
2
+ <html lang="zh-CN"><head><meta charset="utf-8"><title>Chart · Pie</title>
3
+ <link rel="stylesheet" href="../../assets/fonts.css">
4
+ <link rel="stylesheet" href="../../assets/base.css">
5
+ <link rel="stylesheet" id="theme-link" href="../../assets/themes/minimal-white.css">
6
+ <link rel="stylesheet" href="../../assets/animations/animations.css">
7
+ <script src="https://cdn.jsdelivr.net/npm/chart.js@4.4.3/dist/chart.umd.min.js"></script>
8
+ </head><body class="single">
9
+ <div class="deck"><section class="slide is-active" data-title="Pie chart">
10
+ <p class="kicker">Chart · 环形图</p>
11
+ <h2 class="h2">时间都花在了哪里</h2>
12
+ <div class="grid g2 mt-l" style="align-items:center">
13
+ <div class="card" style="height:460px;padding:28px"><canvas id="c"></canvas></div>
14
+ <div class="card">
15
+ <h4>Takeaways</h4>
16
+ <p class="dim">超过一半的时间都在写内容,动效只占 5%。说明值得把动效做成可复用模板。</p>
17
+ <ul class="mt-m dim">
18
+ <li>✍️ 写内容 &nbsp; 55%</li><li>🧩 挑版式 &nbsp; 18%</li><li>🎨 调样式 &nbsp; 14%</li>
19
+ <li>📸 出图 &nbsp; 8%</li><li>✨ 动效 &nbsp; 5%</li>
20
+ </ul>
21
+ </div>
22
+ </div>
23
+ <script>
24
+ addEventListener('DOMContentLoaded',()=>{
25
+ const css=getComputedStyle(document.documentElement);
26
+ const colors=['--accent','--accent-2','--accent-3','--good','--warn'].map(k=>css.getPropertyValue(k).trim());
27
+ const text2=css.getPropertyValue('--text-2').trim();
28
+ new Chart(document.getElementById('c'),{type:'doughnut',
29
+ data:{labels:['写内容','挑版式','调样式','出图','动效'],
30
+ datasets:[{data:[55,18,14,8,5],backgroundColor:colors,borderWidth:0}]},
31
+ options:{cutout:'62%',plugins:{legend:{position:'right',labels:{color:text2}}}}});
32
+ });
33
+ </script>
34
+ </section></div>
35
+ <script src="../../assets/runtime.js"></script>
36
+ </body></html>
@@ -0,0 +1,31 @@
1
+ <!DOCTYPE html>
2
+ <html lang="zh-CN"><head><meta charset="utf-8"><title>Chart · Radar</title>
3
+ <link rel="stylesheet" href="../../assets/fonts.css">
4
+ <link rel="stylesheet" href="../../assets/base.css">
5
+ <link rel="stylesheet" id="theme-link" href="../../assets/themes/minimal-white.css">
6
+ <link rel="stylesheet" href="../../assets/animations/animations.css">
7
+ <script src="https://cdn.jsdelivr.net/npm/chart.js@4.4.3/dist/chart.umd.min.js"></script>
8
+ </head><body class="single">
9
+ <div class="deck"><section class="slide is-active" data-title="Radar chart">
10
+ <p class="kicker">Chart · 雷达图</p>
11
+ <h2 class="h2">把 html-ppt 和竞品放一张图</h2>
12
+ <div class="card mt-l" style="height:520px;padding:28px"><canvas id="c"></canvas></div>
13
+ <script>
14
+ addEventListener('DOMContentLoaded',()=>{
15
+ const css=getComputedStyle(document.documentElement);
16
+ const a1=css.getPropertyValue('--accent').trim();
17
+ const a2=css.getPropertyValue('--accent-2').trim();
18
+ const text2=css.getPropertyValue('--text-2').trim();
19
+ new Chart(document.getElementById('c'),{type:'radar',
20
+ data:{labels:['上手','美观','自定义','性能','导出','生态'],
21
+ datasets:[
22
+ {label:'html-ppt',data:[9,9,10,10,9,6],borderColor:a1,backgroundColor:a1+'33',borderWidth:3,pointRadius:5},
23
+ {label:'reveal.js',data:[8,7,9,8,8,10],borderColor:a2,backgroundColor:a2+'22',borderWidth:3,pointRadius:5}]},
24
+ options:{plugins:{legend:{labels:{color:text2}}},
25
+ scales:{r:{suggestedMin:0,suggestedMax:10,ticks:{color:text2,backdropColor:'transparent'},
26
+ pointLabels:{color:text2,font:{size:14}},grid:{color:'rgba(0,0,0,.08)'},angleLines:{color:'rgba(0,0,0,.08)'}}}}});
27
+ });
28
+ </script>
29
+ </section></div>
30
+ <script src="../../assets/runtime.js"></script>
31
+ </body></html>
@@ -0,0 +1,33 @@
1
+ <!DOCTYPE html>
2
+ <html lang="zh-CN"><head><meta charset="utf-8"><title>Code</title>
3
+ <link rel="stylesheet" href="../../assets/fonts.css">
4
+ <link rel="stylesheet" href="../../assets/base.css">
5
+ <link rel="stylesheet" id="theme-link" href="../../assets/themes/tokyo-night.css">
6
+ <link rel="stylesheet" href="../../assets/animations/animations.css">
7
+ <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/highlight.js@11.10.0/styles/tokyo-night-dark.min.css">
8
+ <script src="https://cdn.jsdelivr.net/npm/highlight.js@11.10.0/lib/core.min.js"></script>
9
+ <script src="https://cdn.jsdelivr.net/npm/highlight.js@11.10.0/lib/languages/javascript.min.js"></script>
10
+ <script>addEventListener('DOMContentLoaded',()=>{hljs.registerLanguage('javascript',window.hljsLangJavascript||window.hljs.getLanguage('javascript'));document.querySelectorAll('pre code').forEach(el=>hljs.highlightElement(el))})</script>
11
+ </head><body class="single">
12
+ <div class="deck"><section class="slide is-active" data-title="Code">
13
+ <p class="kicker">Snippet · 运行时核心</p>
14
+ <h2 class="h2">按一下键盘,幻灯片就跑起来了</h2>
15
+ <pre class="card mt-m" style="padding:24px"><code class="language-javascript">// runtime.js — keyboard-driven deck
16
+ function go(n) {
17
+ n = Math.max(0, Math.min(total - 1, n));
18
+ slides.forEach((s, i) => {
19
+ s.classList.toggle('is-active', i === n);
20
+ });
21
+ idx = n;
22
+ barFill.style.width = ((n + 1) / total * 100) + '%';
23
+ history.replaceState(null, '', '#/' + (n + 1));
24
+ }
25
+
26
+ document.addEventListener('keydown', (e) =&gt; {
27
+ if (e.key === 'ArrowRight' || e.key === ' ') go(idx + 1);
28
+ if (e.key === 'ArrowLeft') go(idx - 1);
29
+ if (e.key === 't') cycleTheme();
30
+ });</code></pre>
31
+ </section></div>
32
+ <script src="../../assets/runtime.js"></script>
33
+ </body></html>
@@ -0,0 +1,47 @@
1
+ <!DOCTYPE html>
2
+ <html lang="zh-CN"><head><meta charset="utf-8"><title>Comparison</title>
3
+ <link rel="stylesheet" href="../../assets/fonts.css">
4
+ <link rel="stylesheet" href="../../assets/base.css">
5
+ <link rel="stylesheet" id="theme-link" href="../../assets/themes/minimal-white.css">
6
+ <link rel="stylesheet" href="../../assets/animations/animations.css">
7
+ <style>
8
+ .vs{display:grid;grid-template-columns:1fr 90px 1fr;gap:28px;align-items:stretch;margin-top:30px}
9
+ .vs .side{padding:30px}
10
+ .vs .mid{font-size:56px;font-weight:800;color:var(--text-3);display:flex;align-items:center;justify-content:center}
11
+ .vs .bad-side{border-top:3px solid var(--bad)}
12
+ .vs .good-side{border-top:3px solid var(--good)}
13
+ .vs h3{font-size:24px}
14
+ .vs ul{padding-left:20px;font-size:15px;line-height:1.8;color:var(--text-2)}
15
+ .vs li::marker{color:var(--bad)}
16
+ .vs .good-side li::marker{color:var(--good)}
17
+ </style>
18
+ </head><body class="single">
19
+ <div class="deck"><section class="slide is-active" data-title="Comparison">
20
+ <p class="kicker">Before vs After · 对比</p>
21
+ <h2 class="h2">从「每次重做」到「一键起稿」</h2>
22
+ <div class="vs">
23
+ <div class="card bad-side side anim-fade-left" data-anim="fade-left">
24
+ <h3>📉 过去</h3>
25
+ <ul>
26
+ <li>每次都要重新做封面、目录、结语</li>
27
+ <li>颜色、字号跨 slide 不一致</li>
28
+ <li>想换主题?手动改每一页</li>
29
+ <li>动效全靠 transition 硬写</li>
30
+ <li>截图导出还要一张一张截</li>
31
+ </ul>
32
+ </div>
33
+ <div class="mid">→</div>
34
+ <div class="card good-side side anim-fade-right" data-anim="fade-right">
35
+ <h3>📈 现在</h3>
36
+ <ul>
37
+ <li>复制模板、换数据、完事</li>
38
+ <li>所有页共享 tokens</li>
39
+ <li>按 <b>T</b> 循环切主题</li>
40
+ <li>25 个命名动效直接挑</li>
41
+ <li>一条 render.sh 全部出图</li>
42
+ </ul>
43
+ </div>
44
+ </div>
45
+ </section></div>
46
+ <script src="../../assets/runtime.js"></script>
47
+ </body></html>
@@ -0,0 +1,32 @@
1
+ <!DOCTYPE html>
2
+ <html lang="zh-CN" data-theme="minimal-white">
3
+ <head>
4
+ <meta charset="utf-8"><title>Cover — html-ppt</title>
5
+ <link rel="stylesheet" href="../../assets/fonts.css">
6
+ <link rel="stylesheet" href="../../assets/base.css">
7
+ <link rel="stylesheet" id="theme-link" href="../../assets/themes/minimal-white.css">
8
+ <link rel="stylesheet" href="../../assets/animations/animations.css">
9
+ </head>
10
+ <body class="single">
11
+ <div class="deck" data-themes="minimal-white,aurora,catppuccin-mocha,tokyo-night,xiaohongshu-white,neo-brutalism" data-theme-base="../../assets/themes/">
12
+ <section class="slide is-active" data-title="Cover">
13
+ <div class="deck-header"><span class="eyebrow">Keynote · 2026</span><span class="eyebrow">html-ppt</span></div>
14
+ <div class="anim-stagger-list">
15
+ <p class="kicker">Tech Sharing · 纯干货</p>
16
+ <h1 class="h1 anim-fade-up" data-anim="fade-up">
17
+ 设计一套<span class="gradient-text">属于你</span>的<br>HTML 演讲系统
18
+ </h1>
19
+ <p class="lede">从主题、版式到动效,全部由模板驱动。一行命令即可开场。</p>
20
+ <div class="row wrap mt-l">
21
+ <span class="pill pill-accent">24 themes</span>
22
+ <span class="pill">30 layouts</span>
23
+ <span class="pill">25 animations</span>
24
+ <span class="pill">零构建</span>
25
+ </div>
26
+ </div>
27
+ <div class="deck-footer"><span class="dim2">lewis · 2026-04-15</span><span class="slide-number" data-current="1" data-total="1"></span></div>
28
+ <div class="notes">封面页口播:大家好,今天给大家带来一套开箱即用的 HTML 演讲系统。</div>
29
+ </section>
30
+ </div>
31
+ <script src="../../assets/runtime.js"></script>
32
+ </body></html>
@@ -0,0 +1,27 @@
1
+ <!DOCTYPE html>
2
+ <html lang="zh-CN"><head><meta charset="utf-8"><title>CTA</title>
3
+ <link rel="stylesheet" href="../../assets/fonts.css">
4
+ <link rel="stylesheet" href="../../assets/base.css">
5
+ <link rel="stylesheet" id="theme-link" href="../../assets/themes/aurora.css">
6
+ <link rel="stylesheet" href="../../assets/animations/animations.css">
7
+ <style>
8
+ .cta .btn{display:inline-flex;align-items:center;gap:10px;padding:20px 32px;border-radius:999px;background:var(--accent);color:#0b1024;font-weight:700;font-size:20px;box-shadow:var(--shadow-lg);text-decoration:none;border:none;cursor:pointer}
9
+ .cta .btn.outline{background:transparent;color:var(--text-1);border:1.5px solid var(--border-strong)}
10
+ </style>
11
+ </head><body class="single">
12
+ <div class="deck"><section class="slide is-active center tc cta" data-title="CTA">
13
+ <div style="max-width:900px">
14
+ <p class="kicker">Call to action</p>
15
+ <h1 class="h1 anim-rise-in" data-anim="rise-in" style="font-size:96px">
16
+ <span class="gradient-text">动手做你的</span><br>第一份 html-ppt
17
+ </h1>
18
+ <p class="lede" style="margin:16px auto 30px">复制模板、换上你的内容、按 <b>T</b> 挑一个最对味的主题,讲完还能一键导出 PNG。</p>
19
+ <div class="row" style="justify-content:center">
20
+ <a class="btn" href="#">🚀 ./new-deck.sh my-talk</a>
21
+ <a class="btn outline" href="#">查看 SKILL.md</a>
22
+ </div>
23
+ <p class="dim mt-l" style="font-size:14px">键盘: ← → 翻页 · T 主题 · A 动效 · F 全屏 · O 概览 · S 备注</p>
24
+ </div>
25
+ </section></div>
26
+ <script src="../../assets/runtime.js"></script>
27
+ </body></html>
@@ -0,0 +1,35 @@
1
+ <!DOCTYPE html>
2
+ <html lang="zh-CN"><head><meta charset="utf-8"><title>Diff</title>
3
+ <link rel="stylesheet" href="../../assets/fonts.css">
4
+ <link rel="stylesheet" href="../../assets/base.css">
5
+ <link rel="stylesheet" id="theme-link" href="../../assets/themes/minimal-white.css">
6
+ <link rel="stylesheet" href="../../assets/animations/animations.css">
7
+ <style>
8
+ .diff{font-family:var(--font-mono);font-size:14px;line-height:1.6;border-radius:var(--radius);overflow:hidden;border:1px solid var(--border)}
9
+ .diff .ln{display:block;padding:2px 16px;white-space:pre}
10
+ .diff .add{background:rgba(26,175,108,.12);color:var(--good)}
11
+ .diff .del{background:rgba(224,68,90,.12);color:var(--bad)}
12
+ .diff .ctx{color:var(--text-2)}
13
+ .diff .hd{background:var(--surface-2);color:var(--text-3);padding:8px 16px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid var(--border)}
14
+ </style>
15
+ </head><body class="single">
16
+ <div class="deck"><section class="slide is-active" data-title="Diff">
17
+ <p class="kicker">Before / After</p>
18
+ <h2 class="h2">一次迁移到 tokens 后</h2>
19
+ <div class="card diff mt-l" style="padding:0">
20
+ <div class="hd">assets/components/card.css</div>
21
+ <span class="ln ctx">.card {</span>
22
+ <span class="ln del">- background: #ffffff;</span>
23
+ <span class="ln del">- color: #0c0d10;</span>
24
+ <span class="ln del">- border-radius: 18px;</span>
25
+ <span class="ln del">- box-shadow: 0 10px 30px rgba(18,24,40,.08);</span>
26
+ <span class="ln add">+ background: var(--surface);</span>
27
+ <span class="ln add">+ color: var(--text-1);</span>
28
+ <span class="ln add">+ border-radius: var(--radius);</span>
29
+ <span class="ln add">+ box-shadow: var(--shadow);</span>
30
+ <span class="ln ctx">}</span>
31
+ </div>
32
+ <p class="dim mt-m">24 个主题从此只需改 variables——其他 0 改动。</p>
33
+ </section></div>
34
+ <script src="../../assets/runtime.js"></script>
35
+ </body></html>