完成初步部落格的設置後,預設的主題覺得很傷眼睛
換主題是建部落格時最開心也最燒腦的事
Hexo 主題更換
官方提供許多主題可更換:Themes | Hexo
個人偏好這種乾淨簡潔風 NexT,這個主題也是非常熱門的主題
安裝喜愛的主題
這邊就以Next為範例,先將要安裝的主題clone下來
1 | git clone https://github.com/theme-next/hexo-theme-next themes/next |
安裝完成後,themes的資料夾內會多一個next的資料夾。
到_config.yml檔案內,尋找 # Extensions,將主題啟用才算完成唷!
1 | theme: next |
主題設定
接著來調整主題的相關設定
1. 版型設定
NexT 提供多種不同的外觀,可以在主題設定theme/next/_config.yml中找到 # Schemes
將自己喜愛的註解打開就可以了
1 | #scheme: Muse |
2. 代碼背景
NexT 的代碼背景色也可做更換,共有5款主題可選擇。在 主題設定theme/next/_config.yml 文件中找到 highlight_theme 。預設使用的是白色的normal,選項有normal、night、 night blue、night bright、night eighties。
1 | # Code Highlight theme |
3. 大頭貼設定
到 theme/next/_config.yml 文件中,搜尋# Sidebar Avatar
1 | # Sidebar Avatar |
4. 設置社群媒體連結
到 theme/next/_config.yml 文件中,找到 #Social Links,將要顯示在首頁的媒體打開註解,並在後方加入連結即可。
1 | social: |
5. 增加選單分頁
預設只有首頁的分頁,可依據個人需求將分頁打開或是增加,在 theme/next/_config.yml 設定,也可將分頁名稱修改為中文→「首頁: /|| home」。
1 | menu: |
這邊要特別注意的是,在打開分頁調整完畢後,記得「路徑 與 ||」中間不能有空格,否則會造成分頁無法顯示。
1 | # Enable/Disable menu icons. |
在menu的下方可以選擇是否要顯示分頁icon,也可以更換成自己喜愛的icon,Next使用的是 Font Awesome 的icon,可至網站選擇。
6. 設置網站icon
將要更換的icon檔案放到 themes/next/source/images 裡面,
打開 theme/next/_config.yml ,搜尋 favicon ,依序將檔案更換即可。
1 | favicon: |
主題套件設定
1. 在部落格底部增加訪客統計
Next主題已有置入這個功能了,首先開啟 theme/next/_config.yml 搜尋 busuanzi_count 把這個功能打開
再依照個人使用需求修改,這邊的site_header(icon)也都是可以做修改的。
1 | busuanzi_count: |
主題內是使用的是不蒜子的腳本統計,若開啟功能後有無法顯示的問題,可至 layout/_third-party/analytics/busuanzi-counter.swig 開啟檔案,將第3行的腳本網址更改為 https://busuanzi.ibruce.info/busuanzi/2.3/busuanzi.pure.mini.js
1 | <script async src="https://busuanzi.ibruce.info/busuanzi/2.3/busuanzi.pure.mini.js"></script> |
※在Local端的數字會顯示異常,推到Github上就會顯示正確囉!
2. 文章字數統計 & 預計閱讀時間
這邊好像會有不同的方法開啟,原本試的是 symbols_count_time 一直沒有成功
後來使用的是Next主題內建的 post_wordcount
首先,安裝 hexo-wordcount 套件
1 | npm i --save hexo-wordcount |
開啟 theme/next/_config.yml 文件,找到 post_wordcount 依個人需求調整以下設定。
1 | post_wordcount: |
3. 設定標籤 & 分類
這個在設定時搞了很久才弄出來,一定要記錄一下!!!
首先,輸入以下語法建立標籤和分類的頁面
1 | $ hexo new page tags |
建立完成後,到 theme/next/_config.yml ,找到 menu 將 tags 和 categories 的註解打開。(若已經打開的話則無需理會)
1 | menu: |
剛才建立的頁面還需做一些調整,到 /source
資料夾中,會看到 tags
和 categories
兩個資料夾,分別打開裡面的 index.md
,分別加上 type: "tags"
以及 type: "categories"
即可。
4. 優化URL
Hexo本身Url的SEO狀況並不是設計非常漂亮,因為在 SEO 規範中文連結遠比英文連結差,所以這邊紀錄一下該如何使用。
1.首先,安裝hexo-abbrlink套件
1 | npm install hexo-abbrlink --save |
2.安裝完畢後,開啟_config.yml找到permalink
1 | permalink: :category/:year:month:day/:abbrlink/ |
然後在文件最末端加入abbrlink設置
1 | # abbrlink config |
※ 在套件的 GitHub 下方有解釋四種生成方式。
1 | crc16 & hex |
3.Category 調整
若連結內有使用分類名稱為url的話,這邊需要先做調整
首先,開啟_config.yml找到category_map,然後依照分類的名稱新增
1 | # Category & Tag |
※ 這邊要注意分類最好不要有空格,英文前後空格也不要有,否則可能會無法正常對應。
參考來源:
https://www.twblogs.net/a/5c2a0256bd9eee01606d3636
https://hsiangfeng.github.io/hexo/20190517/2562079032/