# 自定義頁面

這是 Hexo 級別的問題,可參考
要改樣版可參考:Hexo 入门指南(四) - 页面、导航、边栏、底栏

# 圖片換不了

預設的新浪圖床壞掉了,所以得抽換為自己的圖庫

如果你按照作者說法,在 source/_data 新增了 images.yml,上面寫了六張圖片... 但網站運行還是破圖!!根據我爬文作者文章下方的留言問答,是作者筆誤,要放 7 張圖才能覆蓋喔 XDrz

另外如果有外連圖床,就可以不用寫 images.yml,直接在_config.shoka.yml 加入:

image_server: "https://source.unsplash.com/1600x900/?snow"

可以用 Unsplash 的 API,懶得申請帳號也能用 public 的 API,Ithome 上有不少相關文章,可以去查詢看看

# 抽換圖片

透過 yml 抽換 Avatar 頭圖,作者說得蠻詳細,在此跳過

在 source/_data 下新增目錄 images,把跟原作者主題儲藏庫下方 source/images 同名同副檔名的圖片加入到這個新建的目錄,它就會蓋掉預設,以下是我改過的部分

檔名功能
search.png搜尋頁面右下角的插圖
favicon.ico網站小圖示

大小盡量不要跟原始素材差太多,不然可能會顯示異常

# 抽換瀏覽器分頁轉換時的標題字樣

source/_data/ 新增一個 languages.yml,以你 Hexo config.yml 設置的語系(Shoka 有提供的語系)出發去覆蓋

zh-TW:
  favicon:
    show: 開心你來到我的網站(つ´ω`)つ
    hide: 快看看我🥺

# 改按鈕顏色

到原作者主題下方的 source/css/_color.styl 參考既有寫法,回到你自己 hexo 的 source/_data,新增 color.styl,把想改的樣式區段複製下來

要注意的是 styl 的註解跟 CSS 一樣是 // ,我就曾誤寫成 # 網站渲染壞掉 XDrz|||

# Static CMS 後台 Field 設置

這原始後台 Netlify CMS (其實是 Decap CMS) 跟這個抽換的 Static CMS 後台設置的 yml 很相似(似乎因為 Static CMS 是基於前者 Decap CMS 的前身 Netlify CMS 這幾個專案祖譜有點複雜

首先我們要知道一般 Hexo Post 的 Front-matter 有哪些欄位,可以參考這篇文章

另外 Shoka 主題提供了 sticky: true 來置頂文章,但這邊有個坑 —

這樣寫會網站壞掉:

---
sticky: false
title: TEST
date: 2023-08-01T12:31:19.281+08:00
updated: 2023-08-01T12:31:20.646+08:00
tag: 
  - thisSite
categories: 
  - thisSite
cover: https://i.imgur.com/8ZlAuRL.png
---

這樣寫不會壞掉:

---
title: TEST
date: 2023-08-01T12:31:19.281+08:00
updated: 2023-08-01T12:31:20.646+08:00
tag: 
  - thisSite
categories: 
  - thisSite
cover: https://i.imgur.com/8ZlAuRL.png
---

交叉試了很久,直接說結論

  1. 全站不能只有一篇文章時還設置頂
  2. 置頂不能填 false

所以我不建議在後台加入 Sticky 的 Boolean Filed

接著我們要了解 Hexo 分類跟標籤的特性 — 可以帶 yml list,但同樣寫法意義不同

tag: 
  - a
  - b # 這篇文章有 a 跟 b 的標籤
# 在 CMS 的寫法:a, b
#------------- 我是分隔線 ----------------#
categories:
  - a
  - b # 這篇文章在 a 下面的 b 子分類
# 等校於
categories:
  - [a,b] # 這篇文章在 a 下面的 b 子分類
# 在 CMS 的寫法:a, b
# 一個文章屬於兩個分類的寫法
categories:
  - [a]
  - [b] 
# 在 CMS 的寫法:[a], [b]
# 這邊有個坑,Static CMS list filed 是以逗號區隔,所以當你希望文章有 [a,b] 又有 [c] 兩種分類時,如果寫 [a, b], [c] 會產生不符合預期的格式,目前考慮文章應該暫時不會有這麼複雜的分類結構,我沒有花時間下去繼續研究,突然想到,不知道寫成 a, b, [c] 會是什麼效果🤔... 但暫時不想花太多時間在這裡了

以上結論參考文章:1 2 3
接下來就能設計你的 Filed 了,可以參考這個範例,輸入時標籤跟分類時要記住上方代碼塊提及的特性

其他 Static CMS 的 Filed 可以看官方文件說明,歷史遺跡:Netlify CMS 的 Filed

還可以修改文章生成的目錄 1,我的網站目前沒有改生成目錄是因為我覺得分類跟標籤都是可變的..


# 結語

應該大部分基本設置跟簡易美化到這邊都結束了,但這個主題的 markdown 渲染器還有很多奧義,可以參考以下幾篇文章:

  • 官方指南
  • 網友的測試

還有些置頂文章的配置(其實官方也有寫到)

想要 fork 下來暴改的,像是換掉 loading 貓條,可以參考這個站