[Hexo] 如何使用 Draft 機制高效管理文章

在使用 Hexo 撰寫技術部落格或個人網站時,你可能會遇到這樣的情況:

某些文章還在構思階段,不希望它們被公開,但你又需要方便地預覽和編輯內容。針對這樣的需求,Hexo 提供了一個方便的 Draft 機制,讓你在撰寫未完成的文章時,有更多的彈性與控制。

什麼是 Hexo 的 Draft 機制?

在 Hexo 中,Draft(草稿)是尚未完成的文章,這些文章會存放於 source/_drafts 目錄下,而不是通常的 source/_posts 目錄。

這種機制帶來了幾個明顯的優勢:

  1. 避免誤 deploy 未完成的文章:草稿不會被編譯到網站的靜態檔案,也不會被deploy 到 GitHub Pages。
  2. 方便集中管理未完成內容:草稿集中存放,讓你清楚知道哪些文章還在撰寫中。
  3. 支援即時預覽:Hexo 提供 –draft 參數,讓你能在本地編輯草稿時即時預覽。

建立草稿

要建立一篇新的草稿,可以使用以下指令:

1
$ hexo new draft <title>

這將在 source/_drafts 目錄下建立一個新的 Markdown 檔案,檔名會以 <title>.md 命名。例如:

1
$ hexo new draft "my-first-draft"

生成的檔案路徑為:source/_drafts/my-first-draft.md,內容會包含 Hexo 預設的 YAML 前置資料(Front Matter),例如:

1
2
3
4
5
---
title: my-first-draft
date: 2024-11-22 12:00:00
tags:
---

可以立即開始編輯這篇草稿。

本機預覽草稿

在撰寫草稿的過程中,你可能需要即時檢查文章的排版與效果。雖然 hexo generate 不會將草稿編譯到 public 目錄,但 Hexo 提供了 –draft 參數,讓你可以在本地預覽草稿:

1
$ hexo server --draft
  • 啟用此指令後,Hexo 會包含 source/_drafts 目錄下的文章,並在本地伺服器中顯示草稿內容。
  • 透過 Hexo 的瀏覽器同步功能(如 hexo-browsersync 外掛),你可以在編輯文章的同時即時看到變更結果。

發佈草稿

當你完成草稿並準備將其轉為正式文章時,可以使用以下指令:

1
$ hexo publish <title>

<title> 是草稿檔案名稱(不包含 .md 副檔名)。例如:

1
$ hexo publish "my-first-draft"

這個指令會執行以下操作:

  1. 將草稿檔案從 source/_drafts 移動到 source/_posts 目錄。
  2. 同時保留檔案的名稱與內容。

接著,你可以像管理普通文章一樣,使用 hexo generate 和 hexo deploy 指令將它部署到 GitHub Pages。

反悔草稿

如果你已經將草稿發佈為正式文章,但後來希望重新將其改回草稿,這時只需手動將檔案移回 source/_drafts 目錄即可。例如:

1
mv source/_posts/my-first-draft.md source/_drafts/

此操作不需要執行額外的指令,Hexo 會自動辨識草稿與正式文章。

為什麼要使用 Draft 機制?

Draft 機制在管理內容時,具有以下幾個實用優勢:

  1. 避免未完成的內容公開
    撰寫部落格時,難免會有文章未完成的情況,Draft 機制確保這些內容不會意外出現在你的網站上。
  2. 同時管理多篇草稿
    你可以同時撰寫多篇文章,並挑選已完成的內容發佈,而不影響其他草稿。
  3. 即時預覽與快速迭代
    搭配 –draft 參數與瀏覽器同步外掛,能實現邊編輯邊預覽的效果,提升編輯效率。

結論

Hexo 的 Draft 機制是一個靈活且實用的功能,適合需要撰寫多篇內容的部落格作者或技術分享者使用。透過這個機制,你可以:

  1. 集中管理未完成文章,避免誤部署。
  2. 高效編輯與即時預覽,提升工作流效率。
  3. 控制文章的發佈時機,確保每篇文章都在最好的狀態下公開。

如果你正在用 Hexo 撰寫內容,Draft 機制將成為你不可或缺的好幫手!