Hugo 有一些參數特別適合 開發 時使用,但由於參數太多,可將其統一寫在 Bash Script 內,再由 NPM Script 呼叫。
Version
Hugo 0.147
Dev Script
dev.sh
#!/bin/bash
echo "🚀 Starting Hugo development server..."
hugo server \
--buildDrafts \
--buildFuture \
--disableFastRender \
--bind 0.0.0.0 \
--port 1313 \
--noHTTPCache
開發時使用 Hugo 所內建的 Web server:
buildDrafts:在開發時亦顯示 Front Matter 內draft: true的 markdownbuildFuture:在開發時亦顯示 Front Matter 內date為未來時間的 markdowndisableFastRender:在開發時,修改 Partial、Layout、Front Matter 都會重新 renderbind:在開發時,允許區網內其他裝置連進來,特別適合用手機連進來測試port:在開發時,Web server 所使用的 portnoHTTPCache:在開發時,當config.json有引用 GitHub 的 Hugo Modules 時,不會使用本地 cache,直接從 GitHub 抓最新版,強制更新 module
$ chmod +x dev.sh
chmod +x:設定dev.sh有可執行權限
NPM Script
{
"name": "hugo-theme",
"version": "1.0.0",
"license": "MIT",
"scripts": {
"dev": "./dev.sh",
"build": "./build.sh"
},
"devDependencies": {
"prettier": "^3.5.3",
"prettier-plugin-go-template": "^0.0.15"
}
}
Line 5
"scripts": {
"dev": "./dev.sh",
"build": "./build.sh"
},
dev:開發時執行dev.shbuild:編譯時執行build.sh
Conclusion
- 傳統會將 Hugo 參數直接寫在 NPM Script 內,但由於 Hugo 參數太多,建議先寫在 Bash Script 內,再由 NPM Script 呼叫