Skip to content

Commit fd8ff19

Browse files
committed
feat: 添加自动化 README 截图管线,支持明暗主题双图切换
- 新增 pnpm demo:update 命令:Playwright 无头浏览器截图,Canvas 转 WebP - 新增 pnpm fixture:fetch 命令:从 Open-Meteo 拉取真实天气数据存为 fixture - README 改用 <picture> 标签,根据 prefers-color-scheme 切换明暗截图 - 用户截图导出格式从 PNG 改为 WebP(Canvas toBlob),去除外部依赖 - 截图相关组件/页面通过 import.meta.env.DEV 门控,生产构建 tree-shake - fixture 数据移出 public/,仅通过 dev server 中间件映射,不打进生产包
1 parent 519ee0d commit fd8ff19

17 files changed

Lines changed: 803 additions & 22 deletions

.gitignore

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,3 +22,7 @@ dist-ssr
2222
*.njsproj
2323
*.sln
2424
*.sw?
25+
26+
# Playwright
27+
playwright-report/
28+
test-results/

README.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
11
# Weather Dashboard / 天气面板
22

3-
![Dashboard Screenshot](./demo.webp)
3+
<picture>
4+
<source media="(prefers-color-scheme: dark)" srcset="./demo-dark.webp">
5+
<source media="(prefers-color-scheme: light)" srcset="./demo-light.webp">
6+
<img alt="Dashboard Screenshot" src="./demo-light.webp">
7+
</picture>
48

59
A [Windy](https://www.windy.com/)-style weather dashboard built with React + Canvas. All data comes from [Open-Meteo](https://open-meteo.com/) (free, no API key needed).
610

demo-dark.webp

120 KB
Loading

demo-light.webp

112 KB
Loading

demo.webp

-185 KB
Binary file not shown.

fixtures/default.json

Lines changed: 1 addition & 0 deletions
Large diffs are not rendered by default.

package.json

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,9 @@
1212
"preview": "vite preview",
1313
"test": "vitest run",
1414
"test:watch": "vitest",
15-
"deploy": "vite build && wrangler deploy"
15+
"deploy": "vite build && wrangler deploy",
16+
"fixture:fetch": "tsx scripts/fetch-fixture.ts",
17+
"demo:update": "tsx scripts/capture-screenshot.ts"
1618
},
1719
"dependencies": {
1820
"html-to-image": "^1.11.13",
@@ -37,6 +39,8 @@
3739
"globals": "^17.4.0",
3840
"jiti": "^2.7.0",
3941
"jsdom": "^29.1.1",
42+
"playwright": "^1.57.0",
43+
"tsx": "^4.19.0",
4044
"typescript": "^6.0.3",
4145
"typescript-eslint": "^8.59.4",
4246
"vite": "^8.0.1",

0 commit comments

Comments
 (0)