使用draft機制撰寫草稿

有時可能我們同時編輯多篇文章,其中一篇文章寫完了需要發佈,但其他文章因為篇幅較龐大,暫時還沒有寫完。

當然我們不希望為了發佈其中一篇文章,而將其他未完成的文章也一併發佈,此時我們可以使用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 generatehexo deploy的用法就完全一樣了。

若日後想將正式文章反悔成為草稿,只需手動將文章從source/_posts目錄移動到source/_drafts目錄即可。

Conclusion


  • 透過這種draft機制寫作,我們就可以同時編輯多篇文章,且可以自行挑選編輯完成的文章發佈,再也不會將未完成的文章部署到GitHub了。
2015-08-31