引言
隨著對於資訊的瀏覽增多,往往會有書寫其他語言文章的需求(同時現代的作品幾乎都具備多語言支援),同時也因為自從畢業設計當時加入了多語言支援後,之後做的東西或設計的東西往往都會想要進行國際化支援。就連 最近寫的一個相當於練手的小專案 也弄了多語言支援呢(不過這並不是我想要的效果,太古老了,想做一個現代一點的,另外 正在製作中 ,希望可以堅持做完)。
回過頭來看看我的部落格,這個陪伴我最久的作品,它還沒有國際化。雖然一部分原因通常都是寫簡體中文文章啦,但 之前的部落格 介面部分中文部分英文,實際上弄得多少有些混亂,雖然我個人可以看懂,但對於非相關人士可能會感到疑惑。
但原本的 Jekyll 我折騰了半天硬是沒成功達成多語言,索性轉向原生支援國際化的 Hugo 啦。不過每個主題都有其特色,這個主題對於分類與標籤的處理和上個主題區別很大,之後得慢慢修改適應才行。
這篇文章寫得很潦草吧,主要是它的配置貌似很依賴主題,我也幾乎都是根據主題的範例修改的,所以我覺得也沒什麼好寫的(因為官方文件也很豐富)。
環境
使用 Docker 有 Hugo 的容器,所以環境問題沒怎麼折騰(使用的工具可以看 這裡 呢)。
建立部落格
建立新部落格
| |
進入目錄
| |
初始化儲存庫
| |
安裝主題,這裡使用 hugo-theme-stack 主題,其他同理
| |
配置 hugo.toml 選擇主題
| |
預覽
| |
包含草稿 (draft) 的預覽
| |
部分修改可能需要清除快取才能生效(例如配置項、頁面的修改)
| |
建置網站,預設建置檔案在 public 目錄下
| |
多語言支援
在網站設定檔(我使用 yml 配置)中設定預設語言
| |
然後設定具體的語言項目
| |
文章撰寫
不同於 Jekyll,Hugo 的文章撰寫稍微有點複雜,加上國際化支援後,使得文章管理更加複雜(複雜的好處是自定義程度高),這點可能根據不同主題而有所不同。我說明一下我使用的做法,首先上方語言項目配置指定了文章的目錄,需要在 content 建立相應目錄,然後該語言的文章就在該目錄下寫作。
同時,指定文章是在哪個目錄下,stack 主題設定檔中可以指定:
| |
這就表示我簡體中文的文章應該放在 content/zh-cn/posts 裡,然後還有一些目錄是主題指定的,可以參考對應主題的範例。
現在要建立一篇簡體中文的新文章可以使用:
| |
不指定時區的話預設使用 UTC 時間(雖然可以自己改,但習慣了 Jekyll 自動建立的我,覺得自己寫時間很麻煩)。
文章預設建立模板在 blogName/archetypes 下,可以改為 yml 格式。