最近又重新把 Hugo 的邏輯重新複習了一遍,發現要會的東西其實很多,也把新手可能會遇到的狀況列出來
對,只是列出來,但 Hugo 部分會附上解決 Link。有閒、有興致或許會寫教學文,但真的卡關可以問 AI,真的再不行,你寄信來問我,我幫你問 AI!
終端機 Terminal
Hugo 使用純文字終端機介面,沒用過的人就先嚇死了吧!
但撇除掉架設時用到的指令 hugo new site [網站資料夾名稱],事後只有新增文章會用到 hugo new、測試文章用 hugo server、生成網站用 hugo(就這些,你學完了)。
部署1到伺服器的步驟則有圖形界面 Filezilla 可以使用,等流程都熟了再換成用終端機部署就好(不換也可)。
事實上,從生成網站的 hugo 到,到 git 版本控制2,再到後續部署的 rsync3 相關指令,Eddie 也背不起來,但沒關係,請 AI 同學幫我們寫好部署腳本,每次要部署時會執行一個 deploy.sh,就會自動幫我們執行很多文字指令,不用自己打!
伺服器設定
這部分,任何架站工具都會遇到,不是只有 Hugo,但也的確是一個難點。
一般人:
這些都只要做一次就好,網路上也有大量的教學文章與影片,問 AI 也是一個很快速的方法。
Hugo 的入門
toml/yaml/json
Hugo 並沒有圖形界面,想要進入「設定」界面,必須開啓 toml/yaml/json 爲副檔名的 config 檔案,直接修改文字來得到你要的結果。
你會在這裡設定網域、語言、Menu、主題等等東西。
但也不用怕,你只需要「修改」即可,主題 Theme 會給你範例的。
主題
主題是指:選擇你的網站外觀的檔案。
一開始在你認識 Hugo 的架構之前,不要選擇網站功能很複雜的主題,不然光是理解主題就會耗費掉大把時間(每個主題的運作邏輯都會不太一樣)。
支線任務:github
點擊下載主題後,會發現進入 Github 網站!
一般人:
這什麼鬼,要怎麼下載啊啊啊?
而網路的教學很多都教你打指令來下載,但其實只要點擊綠色按鈕 「<> code」,再點擊 「Download ZIP」,就能成功下載了!
資料夾結構
基本上,常用到的是 content、static,前者擺放 .md 文章、後者擺放圖片。
(雖然 Eddie 連圖片都放 content,但似乎沒人這樣做。)
其他的資料,只會在你架設的時候使用,例如:themes、layouts 等等,負責控制網站的外觀。
但你不是網頁設計師,裡面的 html、css、js 等等檔案,如果完全不客製化外觀,是不會動到的。
markdown 寫作格式 .md
font matter
當你下指令 hugo new posts/123.md 後,就會新增 content/posts/123.md 檔案。
打開後, 會先看到跟設定檔一樣的 toml/yaml/json 格式的 font matter
此欄位負責「設定」文章標題、作者、草稿等等。
內文
內文則是用 markdown 語法了,如果對語法不熟,就得先去學一些基本的語法!
HTML
如果你想要的話,也可以直接在 .md 裡面輸入 HTML 格式來打文章,但記得要在 config 設定檔案裡面輸入以下文字來開啓此功能!
以 toml 爲例:
[markup]
[markup.goldmark]
[markup.goldmark.renderer]
unsafe = true
shortcodes
這個功能是主題賦予的,目的是讓各種複雜功能變得單純,要去主題的 docs 看有沒有各項功能。
例如原本嵌入影片要輸入一大串 HTML 標籤,但用了 shortcodes 後,可能只需要輸入 {{< video 網址 >}} 就能完成。
後記、閒聊
Eddie 用 Hugo 是從 2023 年底開始的,其實到現在也才兩年多,2025 因爲覺得 Hugo 不好排版的原因把官網改 wordpress。
在 wordpress 中,只是想調整某個外觀顏色,Wordpress 本身就有設定的地方,當因爲安裝了主題,所以要去主題找設定,但主題底下,居然還有子主題,簡直是俄羅斯娃娃啊,也因爲這樣網站很慢,最後決定返回 Hugo。
也還好有堅持寫個人部落格,對 Hugo 才越來越熟悉,到現在甚至能自己魔改主題。
-
部署(deploy)簡單說就是把檔案從你的本地電腦複製到遠方的伺服器電腦。 ↩︎
-
rsync 是同步工具,你想把電腦檔案複製到 USB 隨身碟也可以用它,只是我們是要透過它把檔案複製到伺服器去,而 Filezilla 是一樣功能的圖形界面 ↩︎
-
網域是指 google.com、gtisland.com 這樣的「地址」。 ↩︎
-
伺服器就是遠在天邊、別人家的電腦。爲什麼不用自己家的呢?因爲你家可能會停電,大公司的電腦有不斷電系統。 ↩︎
-
伺服器會有一個 IP 位置,其實只要設定好伺服器後,輸入 IP 位置就能進入你的網站首頁,但輸入 IP 太反人類,因此透過 DNS 就能讓你租的網域地址與 IP 連結。 ↩︎