[Hexo] 如何使用 Draft 機制高效管理文章
在使用 Hexo 撰寫技術部落格或個人網站時,你可能會遇到這樣的情況:
某些文章還在構思階段,不希望它們被公開,但你又需要方便地預覽和編輯內容。針對這樣的需求,Hexo 提供了一個方便的 Draft 機制,讓你在撰寫未完成的文章時,有更多的彈性與控制。
什麼是 Hexo 的 Draft 機制?
在 Hexo 中,Draft(草稿)是尚未完成的文章,這些文章會存放於 source/_drafts 目錄下,而不是通常的 source/_posts 目錄。
這種機制帶來了幾個明顯的優勢:
- 避免誤 deploy 未完成的文章:草稿不會被編譯到網站的靜態檔案,也不會被deploy 到 GitHub Pages。
- 方便集中管理未完成內容:草稿集中存放,讓你清楚知道哪些文章還在撰寫中。
- 支援即時預覽: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 | --- |
可以立即開始編輯這篇草稿。
本機預覽草稿
在撰寫草稿的過程中,你可能需要即時檢查文章的排版與效果。雖然 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" |
這個指令會執行以下操作:
- 將草稿檔案從 source/_drafts 移動到 source/_posts 目錄。
- 同時保留檔案的名稱與內容。
接著,你可以像管理普通文章一樣,使用 hexo generate 和 hexo deploy 指令將它部署到 GitHub Pages。
反悔草稿
如果你已經將草稿發佈為正式文章,但後來希望重新將其改回草稿,這時只需手動將檔案移回 source/_drafts 目錄即可。例如:
1 | mv source/_posts/my-first-draft.md source/_drafts/ |
此操作不需要執行額外的指令,Hexo 會自動辨識草稿與正式文章。
為什麼要使用 Draft 機制?
Draft 機制在管理內容時,具有以下幾個實用優勢:
- 避免未完成的內容公開
撰寫部落格時,難免會有文章未完成的情況,Draft 機制確保這些內容不會意外出現在你的網站上。 - 同時管理多篇草稿
你可以同時撰寫多篇文章,並挑選已完成的內容發佈,而不影響其他草稿。 - 即時預覽與快速迭代
搭配 –draft 參數與瀏覽器同步外掛,能實現邊編輯邊預覽的效果,提升編輯效率。
結論
Hexo 的 Draft 機制是一個靈活且實用的功能,適合需要撰寫多篇內容的部落格作者或技術分享者使用。透過這個機制,你可以:
- 集中管理未完成文章,避免誤部署。
- 高效編輯與即時預覽,提升工作流效率。
- 控制文章的發佈時機,確保每篇文章都在最好的狀態下公開。
如果你正在用 Hexo 撰寫內容,Draft 機制將成為你不可或缺的好幫手!