我們無法選擇生活的樣子敷待,但我們可以記下來间涵。
博客的開始
其實,一切都是為了更好的裝逼榜揖。好吧勾哩,我著相了。
最開始想做一個自己博客根盒,主要是因為看到了很多人都有钳幅,覺得自己沒有太 Low 了。于是申請了 CSDN 的用戶炎滞,但是太丑了敢艰,于是又申請了博客園,感覺這些都不是我想要的册赛,而做為一個 Emacser 不使用 Github 搭建一個自己的博客钠导,感覺就已經(jīng)落伍了。
于是就有這最初的一個森瘪,相當(dāng)簡陋的利用 Emacs 的 Org-mode 搭建的博客牡属,后來看了 Org-page 這個包,但是逮栅,我配置不好按敕ァ特纤!為什么為什么!
最后侥加,從 Hugo 和 Hexo 之間捧存,我選擇了 Hexo,雖然 Hugo 在 Windows 上使用起來更方便担败,但是我還是覺得 Hexo 更適合我昔穴。
利用 Hexo 的坑
有些插件需要翻墻,有些不用提前,我也不記得哪個用哪個不用了吗货,實在不行可以使用淘寶的
npm 源進(jìn)行安裝。環(huán)境配置好之后狈网,最好更新一下模板卿操,把一些常用的內(nèi)容寫到 Hexo
的模板里,這樣在后續(xù)的使用中孙援,可以快速的增加標(biāo)簽拓售、分類和簡介等內(nèi)容。學(xué)習(xí) Markdown , 這個并不是一個坑镶奉,而是一個忠告础淤,作為一個常年游蕩在
GitHub 的好同志來說,但是對于一個 Emacser 來說哨苛,我更喜歡 Org-mode
鸽凶,但是 Org-mode 并不能直接用來發(fā)布 Hexo
博客,有些人會說可以利用一些工具亿蒸,但是與其增加一些工具凑兰,不如學(xué)習(xí)一下
Markdown, 這根本用不了幾分鐘,雖然 Org-mode
很強大(忍不住安利一波)边锁,但是 Markdown
作為一個大眾的標(biāo)記語言姑食,簡單的語法還是需要我們掌握的。-
記住常用的命令
-
hexo new markdown_file
新建文章 -
hexo new page html_file
新建頁面 -
hexo generate
生成靜態(tài)頁面到 public 目錄 -
hexo server
開啟預(yù)覽訪問端口茅坛,4000音半,Ctrl+c
關(guān)閉 server -
hexo deploy
將 .deploy 目錄部署到 GitHub
-
這里需要配置 deploy 的項目地址并安裝了
hexo-deployer-git
插件,才能使用這個功能
最后一個坑,挑選一個合適的主題曹鸠,好吧煌茬,我選擇了很久——大概四天吧,可能很多人能非澄镅樱快的決定宣旱,但是對于我來說,把所有好看的主題都看一遍叛薯,才是我想做的事浑吟,最后我選擇了 Next 主題,簡單美觀耗溜,還有非常齊全的配置說明
部署使用的命令有三個
hexo clean
/hexo generate
/hexo deploy
组力,這三個命令之后,就可以登錄你的靜態(tài)博客頁面去查看了抖拴。
博客的生活
我很喜歡調(diào)試自己的博客燎字,但是寫博客就不是那么喜歡了,但是我希望能養(yǎng)成一個定期寫博客的習(xí)慣阿宅。
所以候衍,我需要博客,主要是用來裝...咳洒放,主要是用來記錄我們的生活蛉鹿、工作的內(nèi)容,這樣在下次使用的時候往湿,就能更好的做到了妖异。
Hexo 相關(guān)安裝
在幾次試驗之后,Node.js 環(huán)境還是使用 nvm
管理比較好用领追,下載的時候可以使用 npm --registry=https://registry.npm.taobao.org install
進(jìn)行安裝下面的模塊他膳。
npm install -g hexo-cli
npm install hexo-deployer-git --save
npm install hexo-generator-search --save
npm install hexo-generator-feed --save
npm install -g tern
npm install -g js-beautify
npm install -g jshint
npm install -g js-yaml
npm install hexo-renderer-jade --save
npm install hexo-renderer-sass --save
hugo
Hugo 是由 Go 語言實現(xiàn)的一個 Static Site Generator 工具,特點就是快绒窑,而且默認(rèn)是支持 Org mode 這種文本的棕孙。
雖然對于 hexo 而言少了許多好看的主題,但是對于 Org mode 的默認(rèn)支持讓我有了決心一用的沖動些膨。
在使用了一段時間之后散罕,發(fā)現(xiàn)這個工具完美的解決了我所有的問題,并能讓我專心于博客寫作本身而不是工具傀蓉,雖然有一些不方便欧漱,但最后還是決定繼續(xù)使用,而且要減少對工具本身的使用葬燎,而加強寫作本身误甚。
在長時間的使用之后缚甩,發(fā)現(xiàn) Hugo 對 Org mode 的支持也比較一般,對于一些比較好用的特性窑邦,功能都不支持擅威,最好的方案還是從 Org 轉(zhuǎn)成 Markdown ,所以在最終使用 ox-hugo 工具配合 Hugo 使用冈钦,然后通過 capture 功能直接生成對應(yīng)的博客文章郊丛,方便快捷。
ox-hugo 配置
使用 ox-hugo 主要需要配置兩個內(nèi)容瞧筛,一是將 ox-hugo 增加到配置中厉熟,然后是在 啟動 org-capture 的時候,增加一個新的選項较幌,可以將自動新增一篇文章揍瑟。
(use-package ox-hugo
:after ox)
(with-eval-after-load 'org-capture
(defun org-hugo-new-subtree-post-capture-template ()
"Return `org-capture' template string for new Hugo post."
(let* ((date (format-time-string (org-time-stamp-format :long :inactive) (org-current-time)))
(title (read-from-minibuffer "Post Title: "))
(file-name (read-from-minibuffer "File Name: "))
(fname (org-hugo-slug file-name)))
(mapconcat #'identity
`(
,(concat "* TODO " title)
":PROPERTIES:"
,(concat ":EXPORT_FILE_NAME: " fname)
,(concat ":EXPORT_DATE: " date)
":END:"
"%?\n")
"\n")))
(add-to-list 'org-capture-templates
'("h"
"Hugo post"
entry
(file "~/workspace/blog/hugo-posts.org")
(function org-hugo-new-subtree-post-capture-template))))
在這里,我是將所有的文章寫到對應(yīng)的一個文件中乍炉,然后將文件中的所有內(nèi)容生成到對應(yīng)的 hugo 文件夾中绢片。
文件頭配置如下:
#+HUGO_BASE_DIR: ~/workspace/blog/content/
#+SEQ_TODO: TODO DRAFT DONE
#+OPTIONS: ^:{}
然后在這個文件中使用導(dǎo)出的快捷鍵,就可以看到對應(yīng)的選項了岛琼,將 org-export-dispatch
命令綁定到自己的快捷鍵上就可以看到對應(yīng)的輸出命令底循。
文章首發(fā)于:https://www.zucchiniy.cn