如何使用 Hexo 寫草稿 ?
有時可能我們同時編輯多篇文章,其中一篇文章寫完了需要發佈,但其他文章因為篇幅較龐大,暫時還沒有寫完。
當然我們不希望為了發佈其中一篇文章,而將其他未完成的文章也一併發佈,此時我們可以使用 Hexo 所提供的 draft 機制,讓我們可以在本機預覽草稿,但發佈時只發佈已經完成的文章。
Version
Hexo 3.1.1
傳統建立文章方式
一般我們都會使用 hexo new <title>
來建立文章,這種建立方法會將新文章建立在 source/_posts
目錄下,當使用 hexo generate
指令編譯 markdown 文件時,會將其 HTML 結果編譯在 public
目錄下,之後 hexo deploy
將會把 public
目錄下所有檔案部署到 GitHub,這是我們熟悉的 Hexo 流程。
這種建立文章方式的缺點是:若我們同時編輯多篇文章,只要其中一篇文章尚未編輯完成,也會隨著 hexo deploy
一起部署到 GitHub,也就是 GitHub 可能會看到我們尚未完成的文章。
建立文章草稿
1 | $ hexo new draft <title> |
Hexo 另外提供 draft
機制,它的原理是新文章將建立在 source/_drafts
目錄下,因此 hexo generate
並不會將其編譯到 public
目錄下,所以 hexo deploy
也不會將其部署到 GitHub。
本機預覽草稿
1 | $ hexo server --draft |
雖然 hexo generate
不會編譯 source/_drafts
目錄下的檔案,但 Hexo 的 Hexo server
另外提供 --draft
參數,這讓我們只要搭配 hexo-browsersync
plugins,就可以達到一邊使用 Sublime Text 編輯 markdown 文章,一邊使用瀏覽器預覽的目標。
將草稿發佈為正式文章
1 | $ hexo publish <filename> |
其中 <filename>
為不包含 md
副檔名的檔案名稱。它的原理只是將文章從 source/_drafts
移動到 source/_posts
而已。
之後的 hexo generate
與 hexo deploy
的用法就完全一樣了。
Conclusion
- 透過這種 draft 機制寫作,我們就可以同時編輯多篇文章,且可以自行挑選編輯完成的文章發佈,再也不會將未完成的文章部署到 GitHub 了