Hexo 簡易調教指南(二):網站設定

建立好屬於自己的網站之後,接著就是要開始調整網站內的設定了

一般來說需要設定的會有網站主題兩個部分,我們先從簡單的網站設定做起

資料夾結構

在調整各項設定之前,先來認識一下網站資料夾內有什麼東西吧

打開上篇所建立的資料夾會看到以下的檔案結構

┌─ .github
├─ node_modules
├─ public
├─ scaffolds
├─ source
├─ themes
├─ .gitignore
├─ _config.landscape.yml
├─ _config.yml
├─ db.json
├─ package.json
└─ package-lock.json

node_modules

網站會使用到的套件都放置於此,同時使用 npm 指令安裝的主題也會在這裡

按照上一篇使用 npm 安裝 NexT 主題,就能在這裡面找到 hexo-theme-next 資料夾

public

需要使用 hexo g 指令之後才會產生這一個資料夾

裡面存放的是靜態網站的檔案,部屬網站實際上就是上傳這個資料夾裡面的檔案

scaffolds

預設會有 post.mddraft.mdpage.md 三個檔案

每個檔案的內容會影響到新文章在初始化時所給予的內容

source

放置各種資源的資料夾,預設是存放文章、草稿以及頁面,也可以將圖片等資料放在這裡

如果不想要上傳某些檔案或資料夾,可以在檔案或資料夾名稱前面加上底線(_

但是放置文章的 _posts 名稱本來就含有底線,所以這個規則對它並不適用

themes

使用 git clone 所加入的主題會放置在這裡

.gitignore

不想被上傳的資料可以列在這個檔案裡面

_config.landscape.yml

這個是 Hexo 內建主題 landscape 的配置檔案

因為已經安裝 NexT 主題,所以這個檔案已經沒出場機會了

_config.yml

網站的配置檔案,網站資訊、主題、網址等等的設定都包含在此

網站設定

_config.yml 裡面總共有 12 項可供調整:

  1. Site(網站資訊)
  2. URL(永久連結)
  3. Directory(目錄)
  4. Writing(寫作)
  5. Home page setting(主頁設定)
  6. Category & Tag(分類及標籤)
  7. Metadata elements(詮釋資料元素)
  8. Date / Time format(日期/時間格式)
  9. Pagination(分頁)
  10. Include / Exclude file(s)(包含/排除資料)
  11. Extensions(擴充套件)
  12. Deployment(部屬)

設定網站資訊

# Site 中可以設定網站標題、描述、作者等資訊

# Site
title: Hexo # 網站標題
subtitle: '' # 網站子標題
description: '' # 網站描述
keywords: # 網站關鍵字
author: John Doe # 作者名稱
language: en # 網站顯示語言
timezone: '' # 時區

調整永久網址

# URL 中需要調整兩個欄位

url 欄位填入第一篇所建立的專案名稱

permalink 欄位可以自訂 url 後面顯示的內容,關於可使用的變數可以到官方教學文件觀看

# URL
## Set your site url here. For example, if you use GitHub Page, set url as 'https://username.github.io/project'
url: https://<username>.github.io/ # "https://" 後面改成自己的專案名稱
permalink: :year/:month/:day/:title/ # 按照教學文件內提供的變數來更改
permalink_defaults:
pretty_urls:
  trailing_index: true # Set to false to remove trailing 'index.html' from permalinks
  trailing_html: true # Set to false to remove trailing '.html' from permalinks

分類及標籤別名

不想要網址列出現中文,除了將分類/標籤設為英文之外,還可以設定英文別名

可以將網址列的中文分類/標籤以英文呈現

# Category & Tag 中按照以下格式調整

# Category & Tag
default_category: uncategorized
category_map:
  日記: Daily # 開頭要空兩格
tag_map:
  第一週: "Week-1" # 引號可加可不加

如此一來在維持中文名稱的同時,網址列也會顯示英文

中文分類在網址列會顯示為英文
中文標籤在網址列會顯示為英文

擴充套件

# Extensions 中的 theme 欄位變更網站的佈景主題

# Extensions
## Plugins: https://hexo.io/plugins/
## Themes: https://hexo.io/themes/
theme: next

新增文章

在終端機內輸入

hexo new [layout] <title>

[layout] 對應到 scaffolds 資料夾內的 post.mddraft.mdpage.md 這三個檔案,輸入時只需輸入檔案名稱即可

建立一個頁面或是文章的指令

總結

_config.yml 的設定就先到此為止,之後如果有安裝套件的時候還需要回到這裡新增套件的設定選項。

修改完內在之後,下一篇就要開始裝飾(調教)外表(主題)了

參考資料

試著學 Hexo :: 第 12 屆 iT 邦幫忙鐵人賽

文件 | Hexo