站点:纯静态 HTML + CSS + 原生 JS,零框架零构建
页面:首页 / 合作品牌 / 荣誉资质 / 客户案例 / 关于我们
内容:
- site/ 站点本体(含已压缩 webp 图片,约 4.8 MB)
- deploy/ Docker Compose / Caddy / Apache 部署配置
- _tools/ 开发自检脚本与部署脚本
- Dockerfile 自建 nginx 镜像方案
- README.md 项目文档
设计:品牌黄 #ffc107 + 白,深蓝仅用于页脚;菜单长期置顶;
交互动效只加在关键词与区块级元素上。
素材说明:原始素材(背景图/老网站/方案/荣誉资质/合作品牌,约 290 MB)
未纳入版本控制,站点使用的是 site/assets 内已处理压缩的图片。
41 lines
1.3 KiB
PowerShell
41 lines
1.3 KiB
PowerShell
# 通过 SSH 把本地目录同步到服务器(tar 流,不依赖 rsync)
|
|
param(
|
|
[Parameter(Mandatory = $true)][string]$LocalPath,
|
|
[Parameter(Mandatory = $true)][string]$RemotePath,
|
|
[string]$Server = "10.0.0.131",
|
|
[string]$User = "root"
|
|
)
|
|
|
|
$ErrorActionPreference = "Continue"
|
|
$tmp = (Get-Content "$env:TEMP\xh-tmpdir.txt" -Raw).Trim()
|
|
$env:DISPLAY = "localhost:0"
|
|
$env:SSH_ASKPASS = "$tmp\askpass.cmd"
|
|
$env:SSH_ASKPASS_REQUIRE = "force"
|
|
|
|
$common = @(
|
|
"-o", "StrictHostKeyChecking=no",
|
|
"-o", "UserKnownHostsFile=$tmp\known_hosts",
|
|
"-o", "PreferredAuthentications=password",
|
|
"-o", "PubkeyAuthentication=no",
|
|
"-o", "NumberOfPasswordPrompts=1",
|
|
"-o", "ConnectTimeout=20",
|
|
"-o", "ServerAliveInterval=15"
|
|
)
|
|
|
|
$target = "$User@$Server"
|
|
|
|
# 服务器端先建目录
|
|
& ssh @common $target "mkdir -p '$RemotePath' && echo REMOTE_MKDIR_OK" 2>&1 | ForEach-Object { " $_" }
|
|
if ($LASTEXITCODE -ne 0) { Write-Error "远程建目录失败"; exit 1 }
|
|
|
|
# 本地打 tar 流 -> ssh 管道 -> 远端解包
|
|
Write-Host " 打包并传输 $LocalPath ..."
|
|
Push-Location $LocalPath
|
|
try {
|
|
& tar -cf - . | & ssh @common $target "tar -xf - -C '$RemotePath' && echo REMOTE_UNPACK_OK"
|
|
} finally {
|
|
Pop-Location
|
|
}
|
|
|
|
if ($LASTEXITCODE -eq 0) { Write-Host " 同步完成" } else { Write-Error "传输失败 (exit $LASTEXITCODE)" }
|