構建 Hexo Blog 系統
目錄
前一段時間,我的 VPS 沒有及時繳費,結果被強制停機。續費之後,訪問我的 WordPress 網站,結果提示db connection error
錯誤。。。Oh,該死的數據庫出問題了!加之 WordPress 是出了名的「臃腫」,訪問速度非常慢。我便心生了換一個網誌系統的念頭。
尋找
既然是重新尋找一個合適的網誌系統,那麼我對它的基本要求是:
- 開源:開源是最起碼的要求,不然還有什麼自建的意義嘞
- 支持
Markdown
:Markdown 的好處不必說,用過一次就忘不了 - 使用和維護簡單:寫篇文章要各種登入,各種設定,然後三天兩頭出問題,這種系統我是受不了的
按照這個要求展開尋找之後,我做了一個簡單的表格出來(全是開源的系統)。
系統 | 環境 | 原生 Markdown | 維護難度 |
---|---|---|---|
WordPress | PHP+DB | ❤︎❤︎❤︎❤︎ | |
Ghost | Node.js+DB | Yes | ❤︎❤︎❤︎ |
Typecho | PHP+DB | Yes | ❤︎❤︎❤︎ |
Jekyll | Ruby | Yes | ❤︎❤︎❤︎ |
Hexo | Node.js | Yes | ❤︎ |
通過以上的比較(雖然不是很準確),可以發現他們幾乎都要使用數據庫來儲存數據,這就給維護帶來了一定的困難。
- 對於網誌系統來說,不使用數據庫也行的,反而速度更快。網誌的內容不頻繁更新,最多一天更新幾次,其餘的時間數據一直沒變。多數使用了數據庫的網誌系統,為了加快頁面解析的速度,減小伺服器的負擔,做了「靜態化」的處理。
- 沒有數據庫,減少了對環境的依賴。要使用數據庫,首先得安裝配置一個數據庫,然後還要連接數據庫,接著對數據庫進行操作、幾乎一切的配置和資料都儲存在數據庫裡面啊,整個系統都要依賴數據庫才能執行。數據庫一但歇菜了,立馬癱瘓!
找到了它
Hexo 是一個出自臺灣 tommy351 大神之手,基於 Node.js 的輕量靜態網誌系統。
它
- 採用
Markdown
撰寫:簡單高效,專注于寫作,符合當下潮流 - 沒有數據庫:配置檔案是
*.yml
格式,用文字編輯器就能修改所有配置 - 靜態系統,速度飛快:修改快!生成快!訪問快!
- 資源豐富,易於維護:官網提供了非常詳細的說明,還有豐富的主題和外掛的支援。日常使用只需要幾條命令(甚至是全自動),就能完成文章的發佈
這簡直是一個完美的網誌系統啊!
開始動手
搭建系統
- 官是 https://hexo.io/ ,提供了多語種支援和詳細的配置指導,在這裏不再展開。
強烈推薦按照官網說明來安裝配置 Hexo,民間網誌上可能版本老舊或是作者的粗心大意,會有些坑,切記,切記。安裝 Hexo,大致需要 Node.js、git 等環境,沒錯就是這麼簡約!
- 裝好 Hexo 之後,開始安裝主題。推薦 NexT 主題,官方網站是 http://theme-next.iissnan.com/ 。製作精良,支援完善。
同樣的,推薦按照官網說明來安裝配置。
- 不出意外的話,整個系統就可以開始使用了。你可以把 Hexo 上傳到自己的 Github Pags 或者自己的 VPS 上運行。正如它的介紹那樣「快速、簡單且強大」!
寫篇文章
- 新建文章(3 種方法任選一種):
- 在
source/_posts
下新建一個文章的標題.md
檔案 - 使用命令
hexo new 文章標題
- 安裝 hexo-admin 外掛後,啟動伺服器(執行命令
hexo server
或hexo s
),在瀏覽器打開localhost:端口號/admin
,採取網頁中新建
- 在
- 撰寫文章(2 種方法任選一種)
- 用 Markdown 編輯器撰寫
- 安裝 hexo-admin 外掛後,啟動伺服器,在瀏覽器打開
localhost:端口號/admin
,採取網頁中編輯
- 清除快取檔案和已產生的靜態檔案,執行命令
hexo clean
- 產生靜態檔案,執行命令
hexo generate
或hexo g
- 部署網站,執行命令
hexo deploy
或hexo d
Tips
hexo-admin
外掛:在本地瀏覽器上編輯文章
|
|
hexo-deployer-git
外掛:用 Git 來部署
|
|
hexo-filter-flowchat
外掛:生成流程圖
|
|