抱歉,您的瀏覽器無法訪問本站
本頁面需要瀏覽器支持(啟用)JavaScript
了解詳情 >

Hexo 是一個快速、簡單且強大的靜態網站生成器,專門用於建立部落格。在上一篇文章中,講述了如何安裝、基本設定與佈署到Github上。本次將紀錄,涵蓋主題安裝、常用指令介紹、資料夾與文章結構,以及幾款常用的文章撰寫工具。透過這些資料,將能夠快速了解並上手使用 Hexo 。

主題選擇與安裝

若不想使用 Hexo 的預設主題,Hexo 也支援主題的更換功能。

以下是更換主題的步驟,

選擇新主題

首先,選擇一個主題,可以在 Hexo 官方主題網站上瀏覽可用的主題,又或是在網路上尋找。

在這裡,個人選用的主題為 Volantis ,以下將以這個主題為範例進行示範

Volantis Github 網頁


安裝新主題

在您的 Hexo blog 資料夾中,啟用終端機,並且輸入下方指令

1
npm i hexo-theme-volantis

使用電腦終端機,安裝 Volantis 主題過程與結果


修改 _config.yml 檔案

在 Hexo blog 資料夾中,找到 _config.yml 檔案,並將 theme 設定更新為新主題的名稱

1
2
# Extensions
theme: volantis

Hexo 設定檔 _config.yml ,設定使用 volantis 主題


這樣就完成了 Hexo 的主題更換,

以下是啟動伺服器後,網站套用新主題的模樣

Hexo blog 使用 volantis 主題後,在瀏覽器開啟的結果


每個主題的配置可能有所不同。

如果有機會的話,會在另篇文章分享關於 Volantis 主題的設定說明

指令介紹

以下是一些 Hexo 的常用指令,這些指令可以幫助你進行網站開發、生成和部署等操作。

不過個人使用一陣子後,基本上只使用前三個指令。

啟動本地伺服器

啟動一個本地伺服器,通常網址為 http://localhost:4000

1
hexo server

或簡寫為

1
hexo s

產生靜態文件

將內容從 Markdown 轉換成 HTML,並將放到 public 資料夾中

1
hexo generate

或簡寫為

1
hexo g

清除靜態文件

刪除 public 資料夾中的所有文件,通常用在重新產生靜態文件之前

1
hexo clean

或簡寫為

1
hexo cl

建立發布文章

建立一篇發布文章,會在 source/_posts 中生成一個檔名和標題為 <title> Markdown 的檔案

1
hexo new post <title>

建立草稿文章

建立一篇草稿文章,會在 source/_draft 中生成一個檔名和標題為 <title> Markdown 的檔案,
當產生靜態文件時,該文章將不會被處理。

若要將其轉為已發布文章,需手動將檔案移動到 _posts 資料夾中

1
hexo new draft <title>

佈署網站

將生成的靜態網站推送到指定的伺服器或 GitHub Pages。

※ 需安裝 Hexo 的自動佈署功能

1
hexo deploy

Hexo 資料夾與文章結構

在撰寫和新增文章之前,首先需要了解 Hexo 的資料夾結構和文章的基本組成。

這將有助於更好地管理內容並熟悉 Hexo 的運作原理。

資料夾結構

當初始化一個 Hexo 專案時,會生成以下資料夾和檔案,

1
2
3
4
5
6
7
8
9
10
11
12
your-hexo-folder/
├── node_modules/ # 安裝的 Node.js 模組
├── public/ # 生成的靜態文件
├── scaffolds/ # 預設文章模板
│ ├── draft.md # 草稿文章模板
│ └── post.md # 正式文章模板
├── source/ # 內容資料夾
│ ├── _drafts/ # 草稿文章存放位置
│ ├── _posts/ # 正式文章存放位置
│ └── _config.yml # 網站配置檔
├── themes/ # 主題資料夾
└── package.json # 專案的配置檔
  • node_modules:安裝的 Node.js 模組,Hexo 、插件或主題資料都會存放在此
  • public:生成的靜態文件,當執行 hexo generate 指令後,靜態網站會存放在此資料夾中
  • scaffolds:預設的文章模板,用於快速創建新文章,通常會放置草稿和正式文章的模板
  • source:網站的主要內容資料夾,放置文章的md檔案
    • _drafts:存放草稿文章的資料夾,這些文章不會在生成靜態文件時被處理
    • _posts:正式文章的資料夾,這裡的文章將在網站上顯示
    • _config.yml:網站的配置檔,包含主題、網址等基本設定
  • themes:存放網站主題的資料夾
  • package.json:專案的配置檔,包含依賴的模組和基本信息

文章結構

在 Hexo 中,文章是以 Markdown 語法編寫的 .md 檔案。

這些文章檔案放置於 source/_posts 資料夾中,然後使用 hexo generate 指令將 .md 檔轉換為 HTML 檔案,以供網站使用。

  • 檔名與永久網址

每篇文章的 .md 檔名會自動成為該文章的永久網址的一部分。

因此,為文章檔案命名時需要特別注意,應避免使用空格或特殊符號。

  • 文章前置資料

每篇文章的開頭需要包含 YAML 前置資料(用 --- 包圍的區塊),這部分用來定義文章的基本屬性。以下是前置資料的範例,

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
---
title: article
author: author
headimg: https://your_headimg.jpg
categories:
- categories1
tags:
- tag1
- tat2
date: 2024-10-11 19:52:00
updated: 2024-10-12 13:52:00
---

# 內文標題
這裡是內容,使用 Markdown 語法來進行排版。
  • title:文章的標題
  • author:文章的作者名稱,可以選擇是否顯示在文章中
  • headimg:文章的封面圖 URL,通常顯示在文章的封面或摘要中
  • categories:文章的分類,可以包含一個或多個分類
  • tags:文章的標籤,可以有多個標籤
  • date:文章的發布日期
  • updated:文章的更新日期

文章管理

如前所述,Hexo 會在生成靜態文件時,將 source/_posts 資料夾中的 .md 檔案轉換為 HTML,並根據文章中的分類和標籤進行整理。

由於 Hexo 是基於文件系統的靜態網站生成器,即使不使用 指令來建立文章,你也可以隨時手動新增或刪除 .md 檔案,並不會影響 Hexo 的執行,每次執行 hexo generate 時,Hexo 都會重新掃描 source/_posts 資料夾,並根據檔案自動生成網站內容。

這點與 WordPress 等動態網站系統不同,WordPress 的文章和數據存儲在 SQL 資料庫中,如果資料庫發生問題(如資料遺失或損毀),可能會導致網站出現嚴重錯誤。

而 Hexo 不依賴資料庫,因此在文章管理上更具靈活性。

文章撰寫工具

在 Hexo 中,文章的撰寫需要使用 Markdown 語法,如果對 Markdown 不熟悉,可以參考網上的教學資源,Markdown 是一種簡單而強大的文本標記語法。

以下將介紹幾款撰寫工具,這些工具可以更方便地撰寫或管理 Hexo 文章。當然,能夠撰寫 Markdown 的工具不只這些,僅分享一些自己用過的。

此外,這些工具都有預覽功能,但實際在網頁上呈現的效果可能會因為主題的不同而有所差異。因此,建議在佈署前先在本地啟動伺服器,檢查顯示效果。

使用 VS code

Visual Studio Code 是一款功能強大的文字編輯器,支援多種語法,包括 Markdown

你可以在編輯的同時,即時預覽文章的格式。

使用 Visual Studio Code 編輯和預覽 Markdown 檔案


使用 Notion

如果不想直接編寫 Markdown 語法,Notion 是一個不錯的選擇,

Notion 是一款多功能筆記應用,支援 Markdown 語法,

而操作方式類似 WordPress,提供區塊式的編輯與移動功能,讓撰寫文章更加直觀。

Notion 文章編輯畫面


可以直接在 Notion 中撰寫文章,並將其匯出為 Markdown 格式的檔案,

Notion 文章右上角選擇 Export

Notion 文章 Export format 設定為 Markdown 格式


匯出後,只需稍作修改微調,例如增加文章最上方的 YAML 前置資料和修改檔名,

即可將檔案直接放入 _posts 資料夾中使用。


使用 Hexo admin

Hexo Admin 是為 Hexo 設計的簡易管理插件,

安裝後,你可以通過一個簡單的網頁介面來新增、編輯、管理文章,而不需要手動處理檔案,

這對於不太熟悉指令操作的使用者來說是一個方便的選擇。


首先,開啟終端機並輸入下面指令來進行安裝,

1
npm install --save hexo-admin

使用電腦終端機,安裝 Hexo admin 過程和結果


安裝完成後,可以像之前一樣啟動伺服器。

接著,在瀏覽器中訪問生成的網址,並在網址後加上 /admin

例如,網址為 http://localhost:4000,則變成 http://localhost:4000/admin ,即可進入 Hexo admin 介面。

使用瀏覽器進入 Hexo admin 畫面


在 Posts 頁籤中,可以看到文章列表以及每篇文章的內容。

這裡也可以點選 New Post 來新增文章。

如果需要編輯某篇文章,只需點選該文章,然後按下編輯文章按鈕即可。

Hexo Posts 頁內布局與功能說明


進入文章編輯介面後,會看到如下圖所示的內容,基本上是將前面所說明的架構UI化,呈現在畫面上,因此這部分不再贅述。

比較特別的是,右上角有一個 Publish 或 Unpublish 的切換按鈕,用於管理切換文章的公開或草稿狀態,這個功能會相應地將文章移動到 _post 或 _draft 資料夾中。

Hexo Posts 文章撰寫頁內布局與功能說明


另外,點擊右上角的齒輪圖示按鈕後,會顯示其他文章資訊的設置選項。

Hexo Posts 文章撰寫頁內,文章資訊設定畫面


自言自語543

整體來說,Hexo 的資料夾結構非常簡單。基本上,只需知道文章的儲存位置和靜態文件產生的結果在哪裡。如果深入一點的話,還會前往所使用主題的資料夾,除此之外,幾乎沒有其他太複雜的內容。

在指令方面,我個人常用的只有三個:啟動伺服器、產生靜態文件和清除靜態文件。至於文章的建立和設定,則是直接對檔案進行操作,就像一般手動管理文件一樣。由於管理的是一個個的檔案,整體上也非常直觀,檔案的備份就變得不複雜,且可以隨時移動檔案。目前想到的缺點是,未來如果文章數量增多,某個資料夾下可能會有許多檔案。

使用 Markdown 來撰寫文章也不錯。如果未來需要直接閱讀檔案內容,瀏覽 Markdown 的結果會有助於文章的理解。

在文章撰寫方面,我目前主要使用 Notion。這樣不僅能省去輸入 Markdown 語法的時間,還可以在離開電腦時,若突然有靈感,透過 Notion 的手機 APP 進行撰寫。最後,只需導出檔案並進行一些調整即可。

不過,似乎最大的坑在主題的部分。還有一些想調整的地方,但目前仍在學習和摸索中。不過優先級會擺得比較後面,若有不錯的結果與機會,屆時再做紀錄。

評論




本站使用 Volantis 作為主題,總訪問量為