獨立博客搭建筆記
最近體驗了一款新的開源建站工具 Halo,無論是在功能還是顏值上,Halo 都滿足了我獨立建站的需求。于是,在體驗了一把之后,我就直接用它替換了我原來的博客系統(tǒng),折騰了一番之后,目前已正常使用。
下面是我的折騰過程。
安裝部署
安裝部署這部分 Halo 的官方文檔寫得很詳細,而且提供了多種安裝方式,對于使用者來說非常友好,只要選擇自己熟悉的安裝方式按照步驟操作即可。
具體可以參考官方安裝指南:https://docs.halo.run/category/%E5%AE%89%E8%A3%85%E6%8C%87%E5%8D%97。

由于我原先站點的數(shù)據(jù)庫,Nginx,Docker 等基礎(chǔ)服務(wù)都是現(xiàn)成的,因此我就選擇了 Docker Compose 的安裝方式,只需要把官方提供的 docker-compose.yaml 文件按照本地的實際情況修改下參數(shù)然后執(zhí)行,再等個幾分鐘就能把站點搭建好。
兩個問題
搭建好站點之后,碰到了兩個問題。一是系統(tǒng)自帶的編輯器不支持 Markdown,二是文章頁面不支持代碼塊的語法高亮。這兩個功能對于普通寫作者來說可能無所謂,但是對于我這種技術(shù)寫作者來說是剛需。
不過好在 Halo 采用的是可插拔架構(gòu),這兩個問題可以通過安裝插件的方式解決。
Markdown 編輯器支持
Halo 以插件的方式支持了兩款 Markdown 編輯器,一款是?StackEdit,另一款是?ByteMD。這兩款都是免費插件,可以直接安裝。
以我目前的使用體驗來說,這兩款 Markdown 編輯器功能上差別不大,除了 StackEdit 的預(yù)覽界面支持代碼塊的語法高亮,ByteMD 不支持以外基本沒區(qū)別,而且因為 Halo 的文章編輯頁面本身就支持文章預(yù)覽,所以這也不是什么嚴重的問題。
代碼塊語法高亮支持
Halo 的代碼塊語法高亮功能支持使用的是?highlight.js 代碼高亮?這款插件。這款插件默認支持了常見的一些語法高亮,例如:php,java,json 等,其他不支持的可以自行在設(shè)置界面添加,目前我需要使用的語法高亮都支持。

訪問統(tǒng)計
站點訪問情況的統(tǒng)計我使用的是百度統(tǒng)計,只需把百度統(tǒng)計提供的一段 JS 代碼插入到需要統(tǒng)計的頁面頭部即可,Halo 也提供了相關(guān)配置的功能。

數(shù)據(jù)安全
目前我對于 Halo 的數(shù)據(jù)存儲方式還未深入了解,不過 Halo 本身提供了備份/恢復(fù)功能,可以在系統(tǒng)崩潰之后用作數(shù)據(jù)恢復(fù),只要定期手動執(zhí)行下備份就可以了。

但是,手動備份畢竟還是不夠方便,后續(xù)我應(yīng)該會做一個定期自動化備份的功能。如果大家有興趣的話,以后我再跟大家分享。
寫在最后
很多人可能不能理解為什么要搭建自己的獨立博客站點,明明有很多現(xiàn)成的平臺可以使用?
對于我來說,一個完全獨立可控的博客站點意味著安全感,自己可以任意折騰,不用受制于人,進可攻、退可守。平臺會有興衰,自己的站點,只要自己想,可以一直存在。同時,自己獨立搭建、運營一個站點的成就感也是直接使用其他平臺無法獲得的。