這篇文章會用最白話的方式,一步一步帶你搞懂這個部落格是怎麼運作的,包含環境安裝、本機預覽、寫文章、部署上線、以及日常維護。
部落格環境設定與維護教學
一、這個部落格是什麼?
這是一個用 Jekyll 建立的靜態網站,託管在 GitHub Pages 上。
簡單來說:
- Jekyll = 一個把 Markdown 文章自動變成網頁的工具(用 Ruby 寫的)
- GitHub Pages = GitHub 提供的免費網站空間,把程式碼推上去就自動幫你部署
- 你只需要寫 Markdown 檔案,Jekyll 會幫你套上版型,變成好看的網頁
二、環境安裝(第一次使用才需要)
第 1 步:安裝 Ruby
Jekyll 是用 Ruby 寫的,所以要先裝 Ruby。
Windows:
- 到 RubyInstaller 下載安裝檔
- 安裝時勾選「Add Ruby executables to your PATH」
- 安裝完成後會跳出一個黑色視窗,直接按 Enter 就好
Mac:
brew install ruby
Linux (Ubuntu/Debian):
sudo apt update
sudo apt install ruby-full build-essential
裝完後,打開終端機確認:
ruby -v
看到版本號就代表成功了。
第 2 步:安裝 Bundler
Bundler 是 Ruby 的套件管理工具,用來安裝專案需要的所有套件。
gem install bundler
第 3 步:安裝專案的依賴套件
進入專案資料夾,執行:
cd YongRui0402.github.io
bundle install
這個指令會根據 Gemfile 裡面列的套件,把所有需要的東西裝好。
三、在本機預覽網站
裝好環境後,用這個指令就能在自己的電腦上跑起來:
bundle exec jekyll serve
然後打開瀏覽器,輸入 http://localhost:4000,就能看到你的部落格了。
每次你修改檔案並存檔,網站會自動重新產生,重新整理瀏覽器就能看到變化。
要停止的話,在終端機按 Ctrl + C。
四、專案架構說明
打開專案資料夾,你會看到這些東西:
YongRui0402.github.io/
├── _config.yml ← 網站的所有設定(標題、作者、外掛...)
├── _posts/ ← 部落格文章放這裡
│ └── 分類名稱/年份/ ← 依照分類和年份建子資料夾
├── _wiki/ ← 知識筆記、快捷鍵參考
├── _layouts/ ← 版型模板(控制頁面長什麼樣)
│ ├── default.html ← 最外層的框架(header + footer)
│ ├── post.html ← 文章頁面的版型
│ ├── wiki.html ← Wiki 頁面的版型
│ └── page.html ← 一般頁面的版型
├── _includes/ ← 可重複使用的小元件
│ ├── header.html ← 網站頂部導覽列
│ ├── footer.html ← 網站底部
│ ├── comments.html ← 留言功能
│ └── sidebar-*.html ← 側邊欄元件(搜尋、文章導覽...)
├── _data/ ← 資料檔(用 YAML 格式寫的清單)
│ ├── links.yml ← 友站連結
│ ├── skills.yml ← 技能關鍵字
│ └── social.yml ← 社群帳號連結
├── pages/ ← 固定頁面(關於、分類、連結...)
├── assets/ ← 靜態資源(CSS、JS、圖片)
├── Gemfile ← 列出需要安裝的 Ruby 套件
├── CNAME ← 自訂網域設定
└── index.html ← 首頁
版型是怎麼套的?
所有頁面都會先經過 _layouts/default.html,它負責載入 header.html(上方導覽列)和 footer.html(底部)。
然後根據每篇文章的 layout 設定,再套上對應的版型:
- 文章 →
post.html - Wiki →
wiki.html - 一般頁面 →
page.html
就像洋蔥一樣一層包一層:default → post → 你寫的內容。
五、怎麼新增一篇文章
第 1 步:建立檔案
在 _posts/ 底下,依照分類建立資料夾,然後新增一個 Markdown 檔案。
檔名格式一定要是: YYYY-MM-DD-文章標題.md
例如:
_posts/Python/2025/2025-03-29-我的第一篇文章.md
第 2 步:寫 Front Matter(文章設定)
每篇文章開頭都要有這段設定(用三個減號包起來):
---
layout: post
title: '我的第一篇文章'
categories: 'Python'
description: '這篇文章在講什麼'
keywords: Python, 入門
---
| 欄位 | 說明 |
|---|---|
| layout | 固定填 post |
| title | 文章標題 |
| categories | 分類名稱,會顯示在分類頁面 |
| description | 簡短描述 |
| keywords | 關鍵字(幫助搜尋引擎找到你) |
第 3 步:寫文章內容
在 Front Matter 下面,就可以用 Markdown 語法寫內容了:
# 大標題
這是一段普通文字。
## 小標題
- 項目一
- 項目二
```python
print("Hello World")
```
第 4 步:本機預覽
bundle exec jekyll serve
打開 http://localhost:4000,確認文章出現在首頁,點進去看看排版是否正確。
六、怎麼新增一篇 Wiki
Wiki 適合放指令整理、快捷鍵筆記這類參考資料。
在 _wiki/ 底下新增 .md 檔案(Wiki 不需要日期命名):
---
layout: wiki
title: Docker
categories: Docker
description: Docker 常用指令筆記
keywords: Docker, 容器
---
### 常用指令
| 功能 | 指令 |
|:-------------|:-------------------|
| 列出容器 | docker ps |
| 建立容器 | docker run ... |
七、部署上線
這是最簡單的部分。因為用的是 GitHub Pages,你只要把程式碼推到 GitHub,網站就會自動更新。
# 1. 把修改加入暫存區
git add _posts/Python/2025/2025-03-29-我的第一篇文章.md
# 2. 建立一個 commit(附上簡短說明)
git commit -m "新增文章:我的第一篇文章"
# 3. 推到 GitHub
git push origin main
推上去後等大約 1~2 分鐘,打開 https://YongRui0402.github.io/ 就能看到更新了。
八、日常維護
修改網站設定
所有設定都在 _config.yml,常見的修改:
| 想改什麼 | 改哪裡 |
|---|---|
| 網站標題 | title 和 subtitle |
| 作者資訊 | author、email、location |
| 導覽列選項 | navs 區塊 |
| 每頁顯示幾篇 | paginate(目前是 8) |
注意: 修改 _config.yml 後,需要重新啟動 jekyll serve 才會生效(Ctrl + C 停止,再重新執行)。
修改友站連結
編輯 _data/links.yml:
- name: 朋友的部落格
url: https://example.com/
修改技能關鍵字
編輯 _data/skills.yml:
- name: 前端技能
keywords:
- HTML
- CSS
- JavaScript
刪除文章
直接刪除 _posts/ 底下對應的 .md 檔案,然後推上 GitHub 就好。
更新依賴套件
偶爾可以執行這個指令,讓套件保持在最新版本:
bundle update
九、常見問題
Q:bundle exec jekyll serve 跑不起來?
→ 試試先執行 bundle install,確保所有套件都有裝好。
Q:改了 _config.yml 但網站沒變?
→ _config.yml 的修改需要重啟 jekyll serve 才會生效。
Q:文章沒有出現在首頁?
→ 檢查檔名是否符合 YYYY-MM-DD-標題.md 格式,日期不能是未來的日期。
Q:推到 GitHub 後網站沒更新? → 到 GitHub 的 Actions 頁面檢查部署狀態,通常等 1~2 分鐘就好。