Skip to content

Commit 186fd54

Browse files
committed
chore(deployment): Add Windows deployment scripts for documentation
- Add `deploy:windows` script to package.json - Create `scripts/deploy.ps1` for full deployment process - Create `scripts/prepare-deploy.ps1` to copy symlinked files before deployment - Create `scripts/cleanup-deploy.ps1` to remove temporary files after deployment - Implement comprehensive PowerShell scripts for Windows deployment workflow - Automate file preparation, deployment, and cleanup steps - Support configurable Git user for deployment
1 parent e965539 commit 186fd54

4 files changed

Lines changed: 138 additions & 0 deletions

File tree

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
"build": "docusaurus build",
99
"swizzle": "docusaurus swizzle",
1010
"deploy": "docusaurus deploy",
11+
"deploy:windows": "powershell -ExecutionPolicy Bypass -File ./scripts/deploy.ps1",
1112
"clear": "docusaurus clear",
1213
"serve": "docusaurus serve",
1314
"write-translations": "docusaurus write-translations",

scripts/cleanup-deploy.ps1

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
# 部署后清理脚本 - 删除临时复制的文件
2+
3+
Write-Host "Starting cleanup..." -ForegroundColor Green
4+
5+
# Clean docs directory
6+
Write-Host "Cleaning docs directory..." -ForegroundColor Yellow
7+
8+
# sakurapi-rk3308b
9+
Remove-Item -Recurse -Force "docs\article\sakurapi-rk3308b\img" -ErrorAction SilentlyContinue
10+
Remove-Item -Recurse -Force "docs\article\sakurapi-rk3308b\assets" -ErrorAction SilentlyContinue
11+
12+
# sakurapi-rk3308b playground
13+
$playgroundDirs = @("boost-to-1.3ghz", "connect-to-joycon", "rgb-display", "voron-klipper", "ws2812-leds")
14+
foreach($dir in $playgroundDirs) {
15+
Remove-Item -Recurse -Force "docs\article\sakurapi-rk3308b\playground\$dir" -ErrorAction SilentlyContinue
16+
}
17+
18+
# sakurapi-elara-1
19+
Remove-Item -Recurse -Force "docs\article\sakurapi-elara-1\img" -ErrorAction SilentlyContinue
20+
21+
# Clean i18n/en directory
22+
Write-Host "Cleaning i18n/en directory..." -ForegroundColor Yellow
23+
24+
# sakurapi-rk3308b
25+
Remove-Item -Recurse -Force "i18n\en\docusaurus-plugin-content-docs\current\article\sakurapi-rk3308b\img" -ErrorAction SilentlyContinue
26+
Remove-Item -Recurse -Force "i18n\en\docusaurus-plugin-content-docs\current\article\sakurapi-rk3308b\assets" -ErrorAction SilentlyContinue
27+
28+
# sakurapi-rk3308b playground
29+
foreach($dir in $playgroundDirs) {
30+
Remove-Item -Recurse -Force "i18n\en\docusaurus-plugin-content-docs\current\article\sakurapi-rk3308b\playground\$dir" -ErrorAction SilentlyContinue
31+
}
32+
33+
# sakurapi-elara-1
34+
Remove-Item -Recurse -Force "i18n\en\docusaurus-plugin-content-docs\current\article\sakurapi-elara-1\img" -ErrorAction SilentlyContinue
35+
36+
# _common assets
37+
Remove-Item -Recurse -Force "i18n\en\docusaurus-plugin-content-docs\current\article\_common\assets" -ErrorAction SilentlyContinue
38+
39+
# sponsors
40+
Remove-Item -Recurse -Force "i18n\en\docusaurus-plugin-content-docs\current\img" -ErrorAction SilentlyContinue
41+
42+
Write-Host "Cleanup completed!" -ForegroundColor Green

scripts/deploy.ps1

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
# Full deployment script - Prepare, Deploy, Cleanup
2+
3+
param(
4+
[string]$GitUser = $env:GIT_USER
5+
)
6+
7+
# Check GIT_USER
8+
if (-not $GitUser) {
9+
Write-Host "Error: Please set GIT_USER environment variable or use -GitUser parameter" -ForegroundColor Red
10+
Write-Host "Example: .\scripts\deploy.ps1 -GitUser xxx" -ForegroundColor Yellow
11+
exit 1
12+
}
13+
14+
Write-Host "========================================" -ForegroundColor Cyan
15+
Write-Host "Starting deployment process" -ForegroundColor Cyan
16+
Write-Host "Git User: $GitUser" -ForegroundColor Cyan
17+
Write-Host "========================================" -ForegroundColor Cyan
18+
Write-Host ""
19+
20+
# 1. Prepare files
21+
Write-Host "[1/3] Preparing deployment files..." -ForegroundColor Cyan
22+
& "$PSScriptRoot\prepare-deploy.ps1"
23+
if ($LASTEXITCODE -ne 0) {
24+
Write-Host "Failed to prepare files!" -ForegroundColor Red
25+
exit 1
26+
}
27+
Write-Host ""
28+
29+
# 2. Deploy
30+
Write-Host "[2/3] Deploying..." -ForegroundColor Cyan
31+
$env:GIT_USER = $GitUser
32+
npm run deploy
33+
$deployResult = $LASTEXITCODE
34+
35+
Write-Host ""
36+
37+
# 3. Cleanup
38+
Write-Host "[3/3] Cleaning up temporary files..." -ForegroundColor Cyan
39+
& "$PSScriptRoot\cleanup-deploy.ps1"
40+
Write-Host ""
41+
42+
# Check deployment result
43+
if ($deployResult -eq 0) {
44+
Write-Host "========================================" -ForegroundColor Green
45+
Write-Host "Deployment successful!" -ForegroundColor Green
46+
Write-Host "========================================" -ForegroundColor Green
47+
} else {
48+
Write-Host "========================================" -ForegroundColor Red
49+
Write-Host "Deployment failed!" -ForegroundColor Red
50+
Write-Host "========================================" -ForegroundColor Red
51+
exit $deployResult
52+
}

scripts/prepare-deploy.ps1

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
# Prepare deployment - Copy symlinked files
2+
3+
Write-Host "Preparing deployment files..." -ForegroundColor Green
4+
5+
# Copy docs directory files
6+
Write-Host "Copying docs images and assets..." -ForegroundColor Yellow
7+
8+
# sakurapi-rk3308b
9+
Copy-Item -Recurse -Force "static\dl\product\sakurapi-rk3308b\img" "docs\article\sakurapi-rk3308b\img"
10+
Copy-Item -Recurse -Force "static\dl\product\sakurapi-rk3308b\assets" "docs\article\sakurapi-rk3308b\assets"
11+
12+
# sakurapi-rk3308b playground
13+
$playgroundDirs = @("boost-to-1.3ghz", "connect-to-joycon", "rgb-display", "voron-klipper", "ws2812-leds")
14+
foreach($dir in $playgroundDirs) {
15+
Copy-Item -Recurse -Force "static\dl\product\sakurapi-rk3308b\playground\$dir" "docs\article\sakurapi-rk3308b\playground\$dir"
16+
}
17+
18+
# sakurapi-elara-1
19+
Copy-Item -Recurse -Force "static\dl\product\sakurapi-elara-1\img" "docs\article\sakurapi-elara-1\img"
20+
21+
# Copy i18n/en directory files
22+
Write-Host "Copying i18n/en images and assets..." -ForegroundColor Yellow
23+
24+
# sakurapi-rk3308b
25+
Copy-Item -Recurse -Force "static\dl\product\sakurapi-rk3308b\img" "i18n\en\docusaurus-plugin-content-docs\current\article\sakurapi-rk3308b\img"
26+
Copy-Item -Recurse -Force "static\dl\product\sakurapi-rk3308b\assets" "i18n\en\docusaurus-plugin-content-docs\current\article\sakurapi-rk3308b\assets"
27+
28+
# sakurapi-rk3308b playground
29+
foreach($dir in $playgroundDirs) {
30+
Copy-Item -Recurse -Force "static\dl\product\sakurapi-rk3308b\playground\$dir" "i18n\en\docusaurus-plugin-content-docs\current\article\sakurapi-rk3308b\playground\$dir"
31+
}
32+
33+
# sakurapi-elara-1
34+
Copy-Item -Recurse -Force "static\dl\product\sakurapi-elara-1\img" "i18n\en\docusaurus-plugin-content-docs\current\article\sakurapi-elara-1\img"
35+
36+
# _common assets
37+
Copy-Item -Recurse -Force "docs\article\_common\assets" "i18n\en\docusaurus-plugin-content-docs\current\article\_common\assets"
38+
39+
# sponsors
40+
New-Item -ItemType Directory -Force -Path "i18n\en\docusaurus-plugin-content-docs\current\img\sponsors" | Out-Null
41+
Copy-Item -Force "docs\img\sponsors\100ask.net.jpg" "i18n\en\docusaurus-plugin-content-docs\current\img\sponsors\100ask.net.jpg"
42+
43+
Write-Host "Files prepared successfully!" -ForegroundColor Green

0 commit comments

Comments
 (0)