發布日期:Oct 2, 2020
文章於 Oct 18, 2020 更新
在 github.io 上產生一個用 hugo 打造的個人主頁 : https://your-github-account.github.io
brew install hugo
這時候可以看一下版本(version)或者使用說明(help),如果下了指令後有出現對應的內容,就代表有安裝到指定程式。
hugo version
hugo --help
your-website-name 請填入想取的名字。
指令 hugo new site
會為我們自動產生依據 hugo 網站結構規範的檔案與資料夾組合,
檔案跟資料夾要按照 hugo 的要求放, hugo server 在生成網頁時才不會找不到檔案。
hugo new site your-website-name
在 your-website-name 資料夾內執行以下指令,讓 git 知道這整個資料夾要被 git 追蹤
git init
接下來,因為我選擇的主題是 Hugo Learn Theme ,所以按照主題的官方文件安裝主題。
## 進入 themes 資料夾
cd themes/
## 從指定網址取下最新版本的 "Hugo Learn Theme" 程式碼
git clone https://github.com/matcornic/hugo-theme-learn.git
## 如果不打算異動別人做好的主題,或者想要跟著別人的專案更新,可以用以下指令取代 git clone ,但是我並不打算頻繁更新主題,所以沒有選擇這個做法。
git submodule add -f https://github.com/matcornic/hugo-theme-learn.git
# 基本的 config 內容
# 這邊是設定部落格首頁的地方,在我們的情境裡應該要輸入自己的 github.io 主頁網址 https://your-github-account.github.io
baseURL = "http://example.org/"
# 設定網站的預設語系用
languageCode = "en-us"
# 設定網站的標題用,會顯示在瀏覽器頁籤上的那個名字
title = "My New Hugo Site"
# 額外的 config 內容
# 例如我們現在新增的 config 項目,關於主題的指定
theme = "hugo-theme-learn" # 這邊要寫 themes/ 裡面裝著主題專案程式碼的資料夾名稱
下面這個指令的意思是:在 content 裡增加一個 posts 資料夾,並且在 posts 裡產生一個檔案 my-first-post.md
hugo new posts/my-first-post.md
執行以下指令,告訴 hugo 啟動 server 預覽並且連草稿一併顯示。
hugo server -D
執行完畢後,即可依照 terminal 上顯示的提示,進入 http://localhost:1313/ 預覽網站。
pwd
[project_path]/your-website-name
git init
在文章 .md 檔的設定 draft 應該要是 false 喔~設定為 true 的發布後看不到!
draft: false
pwd
# terminal 會顯示目前所在位置的絕對路徑
# 例如: [project_path]/your-website-name
git submodule add -f https://github.com/your-github-account/your-github-account.github.io.git public
hugo
cd public
git init
git remote add origin https://github.com/your-github-account/your-github-account.github.io.git
git add . # 因為這邊要無腦推,不用檢查是否有 bug (信任 hugo 自動產生的檔案),所以直接用 . 表示將全部異動加入要 commit 的內容中
git commit -m "my-first-hugo"
git push origin master # 這邊要寫遠端的主分支,如果 master 已改名成 main 要記得換一下
# 因為前一個步驟在 public 資料夾裡,所以這邊可以執行「移到外一層」的指令
cd ..
# 或者直接指定要移到專案所在的絕對路徑也行
cd [project_path]/your-website-name/
git add . # 因為這邊也要無腦推,不用檢查是否有 bug
git commit -m "寫些推版註解吧"
git push origin master # 這邊要寫遠端的主分支,如果 master 已改名成 main 要記得換一下