奇想齋

歸檔 鏈接

我是怎麼寫博客的

2020-09-07

轉眼我的博客也開了好幾年了。很慚愧,雖然沒寫幾篇文章,但是搭建博客的花樣卻換了不少。這篇就簡單對比一下每一個的優劣和我選型的理由。

Hexo

我寫博客最早要追溯到小學的時候,當時建了一個網易博客。然後,爲了練習打字,我把幾篇作文放了上去。後果之一,便是百度文庫上搜我的名字至今能夠搜到我的小學作文,放在那裏近乎黑歷史。

建獨立博客是我長久以來的夢想。上中學的時候用「免費空間」搭建過一個。當然自然是不穩定。大二的時候,第一次接觸到了Github,看到了Github Pages可以建立獨立的靜態博客,便開了一個。

GitHub Pages上面只能託管靜態博客。因爲看到網上的教程大多推薦Hexo,我也就跟風選擇了這個。

但是,選擇了這麼個東西自然意味着折騰。首先,評論區只能用第三方的,當時還有一個「多說」尚在運營。因爲Hexo是用Node.js寫的,而NPM的包管理也爲人所詬病,所以用起來環境問題很是惱人。每次更換環境都要重新配置一遍。

不過,經過一番努力,我的第一個獨立博客還是開張了。

Jekyll

換到Jekyll是因爲我有了定製的需求。Hexo的模板語言讓我有點摸不着頭腦,Jekyll的模板語言相對簡單一些,隨便學了一點就可以用上了。Jekyll是Github官方推薦的靜態博客引擎。

Jekyll是我用得最久的引擎,差不多有兩三年的時間我都在用Jekyll寫博客。

放棄Jekyll的原因和Hexo類似:太麻煩了。Ruby的環境用起來有諸多不便。我當時還在用Arch Linux,每次滾動升級之後,如果Ruby升級了,Jekyll的環境就會莫名其妙地掛掉。終於有一天,我受不了了,於是進行了又一次遷移。

WordPress

這個時候我已經有了一些零花錢,用上了VPS,所以也就不再侷限於靜態博客了。WordPress對大多數用戶來說都是一個相當完美的選擇。有評論系統,有編輯器。

但問題出在,WordPress實在是太大,太臃腫了。這種巨無霸一點也不契合我對於工具的審美。我最喜歡的是「Keep It Simple Stupid」。爲了實現上的足夠簡單,我不惜犧牲一些易用性,換取hack時更容易。

首先,WordPress新的官方主題很醜,而老的官方主題又和新版本的WordPress有兼容性問題。而且,WordPress新的BlockEditor極爲難用。

HTML

可能是受了WordPress的傷,這次我選了一個極端的方案:直接手寫HTML。

自然,這不是一個長久之際,我用這種方法寫了一篇博客之後被html tag噁心到,於是作罷。

Typora

這個方案大體上思路還是HTML那樣,但是寫的是Markdown。Typora是一個跨平臺的Markdown編輯器,可以導出非常美觀的HTML。我只需要一個Git用來做版本控制就可以了。

因爲之前搭建的Mastodon站點即將關門,我也不準備繼續用VPS了,所以我又把站點遷移回了Github Pages上,也算是又回到了原點。不過這次我不用擔心環境配置的問題了,只需要在筆記本上安裝Git for Windows和Typora就可以開始寫了。

Pandoc + Makefile

最後,這是我現在正在使用的方案。Pandoc是一個用Haskell開發出來的文檔轉換工具,可以很方便地把Markdown文件轉換成HTML,然後還可以自定義模板,使用起來很方便。對於整個站點,則只需要用Makefile即可批量自動轉換,免去了Typora裏面每次更新Markdown文件都要手動導出HTML以進行更新的麻煩。Pandoc在各大Linux發行版均有提供,Windows系統上面也是有的,此外Makfile工具也是唾手可得。最後,我用Git來做版本管理,用rsync來發布站點,幾個簡單的bash腳本即可完成。

當然,Markdown編輯器我還是在用Typora。

總結

博客最重要的還是內容。所以建博客的方案應該考慮兩點:

  1. 容易備份遷移;
  2. 可以很方便地開始動筆。

上面的幾種方案裏面,Jekyll和Hexo遷移都需要複雜的配置。WordPress要遷移的話也很笨重。HTML動起筆來非常麻煩,寫作體驗極差。綜合起來,似乎用Typora寫作,用Pandoc、Makefile還有git來管理站點,對我來說就是最完美的方案了。


Powered by Pandoc ©️ 2017-2022 奈卜拉