Hugo: Bat-Files for Hugo Publish

Jacky | Jul 30, 2022 min read

此內容由 Notion 編輯並經由 Notion API 自動轉成 Hugo 頁面
The content write by Notion, and use Notion API convert to Hugo page.

前言

由於 Hugo 的操作需要輸入 CMD 指令,索性直接將相關的指令寫成 BAT 檔,並加了一些符合自己需要的小功能

新增文章並開啟 VSCode

@echo off

REM 提示輸入文章標題
@SET /P title=輸入文章標題:
echo 文章標題為 %title%,即將建立檔案...

REM 取得日期
for /F "tokens=1-3 delims=/ " %%a in ("%date%") do (SET today=%%a%%b%%c)

REM 加入新文章檔案
call hugo new "blogs\\%today%\\%title%.md"
pause

REM 打開 VSCode
call code -n .\\content\\blogs

產生靜態網站檔案並複製到 Repo 資料夾中

@echo off

REM 設定路徑
SET src=public
SET dst=%cd%\\..\\jacky10001.github.io

REM 刪除先前建構檔案
rmdir %src% /s /q

REM hugo 建構檔案
hugo

REM 顯示建構完成提示文字
echo.
echo 網站內容建構完成,即將複製新內容至目標目錄。
pause

REM 刪除原本網站檔案
for /F "delims==" %%a in ('dir %src% /A-D /b') do ( del %dst%\\%%a /q )
for /F "delims==" %%a in ('dir %src% /A:D /b') do ( rd %dst%\\%%a /s /q )

REM 複製修改後的網站檔案
for /F "delims==" %%a in ('dir %src% /A-D /b') do ( copy %cd%\\%src%\\%%a %dst%\\%%a )
for /F "delims==" %%a in ('dir %src% /A:D /b') do ( xcopy %cd%\\%src%\\%%a %dst%\\%%a /i /e /y )

REM 顯示複製完成提示文字
echo.
echo 佈署網站內容複製完成,請將記得上傳至GitHub更新線上內容。
pause

@echo on

開啟 Hugo 預覽

@echo off

call start <http://localhost:1313/> | call hugo server
comments powered by Disqus