feat: implement crafting table
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
<#
|
||||
SFCraft 文档开发服务器入口: 先同步物品贴图, 再启动 hugo server。
|
||||
贴图同步失败(有物品找不到)时终止启动。
|
||||
用法: powershell -ExecutionPolicy Bypass -File scripts\dev.ps1 [-NoSync] [hugo server 参数...]
|
||||
#>
|
||||
[CmdletBinding()]
|
||||
param(
|
||||
[switch]$NoSync,
|
||||
[Parameter(ValueFromRemainingArguments = $true)]
|
||||
[string[]]$HugoArgs
|
||||
)
|
||||
|
||||
$ErrorActionPreference = 'Stop'
|
||||
$scriptDir = Split-Path -Parent $MyInvocation.MyCommand.Path
|
||||
|
||||
function Get-HugoPath {
|
||||
if ($env:HUGO) { return $env:HUGO }
|
||||
$cmd = Get-Command hugo -ErrorAction SilentlyContinue
|
||||
if ($cmd) { return $cmd.Source }
|
||||
$p = Get-ChildItem -Path (Join-Path $env:LOCALAPPDATA 'Microsoft\WinGet\Packages') -Recurse -Filter hugo.exe -ErrorAction SilentlyContinue |
|
||||
Sort-Object LastWriteTime -Descending | Select-Object -First 1
|
||||
if ($p) { return $p.FullName }
|
||||
throw '未找到 Hugo。请安装 Hugo, 或将 hugo 可执行文件路径写入环境变量 HUGO。'
|
||||
}
|
||||
|
||||
if (-not $NoSync) {
|
||||
Write-Host "`n[1/2] 同步物品贴图" -ForegroundColor Cyan
|
||||
& (Join-Path $scriptDir 'sync-items.ps1')
|
||||
if ($LASTEXITCODE -ne 0) {
|
||||
Write-Host "[启动终止] 物品贴图同步失败, 未启动 hugo server。" -ForegroundColor Red
|
||||
exit $LASTEXITCODE
|
||||
}
|
||||
} else {
|
||||
Write-Host "[跳过] 已指定 -NoSync, 不执行贴图同步" -ForegroundColor Yellow
|
||||
}
|
||||
|
||||
Write-Host "`n[2/2] 启动 hugo server" -ForegroundColor Cyan
|
||||
$hugo = Get-HugoPath
|
||||
$serverArgs = @('server')
|
||||
if ($HugoArgs.Count -gt 0) { $serverArgs += $HugoArgs }
|
||||
& $hugo @serverArgs
|
||||
exit $LASTEXITCODE
|
||||
Reference in New Issue
Block a user