從Hexo開始的個人思考

一、前言

這篇文章僅僅是自己對這段時間玩Hexo的個人意見,同時也算是某一個階段的記錄。



二、我爲什麼想要搭建一個博客

首先,現在已經有非常多的博客平臺,如CSDN、簡書、博客園、知乎······等等等等,開箱即用的功能,良好的SEO,我爲什麼還想要自己折騰呢?如果說是想要提升一點什麼或者學到一些什麼,其實可以說是反其道而行之了。或者說可以簡而言之:不甘於平凡,但又沒什麼能力。

外觀

想搭建一個博客平臺的念頭是從Typecho主題開始的——小姐姐的博客很好看(Windows Terminal終端安裝與美化),對這樣一個這麼好看的博客系統,有哪個對小姐姐沒有抵抗力的男孩子能不心動呢!

大部分博客平臺雖然可以一定程度上的定製化,但是相比之下可以說簡直沒有可比性。

  • 論佈局,可以說是·······一言難盡。兩邊有太多繁雜而又用處不是很大的信息,特別是廣告如果不用插件可能······,而可能是剛需的“跟隨式”側邊欄目錄卻又不夠完善或者說······。
  • 論主題,我目前最喜歡的md主題是vue的主題配色,具體什麼樣的可以參見Vue官網,這款主題清新、優雅、簡約·······等等等等列舉不完。而除了GitHub的README.md,別的主題都不是太好看個人感覺,尤其是行內代碼塊。

功能

大部分博客平臺發現其實都只有歸檔和分類這兩個管理博客的維度,而大佬們搭建的博客裏,起碼有歸檔、分類、標籤這三個維度。其中對教主來說比較剛需的是分類維度和標籤維度:分類約束了一篇文章應該屬於的範疇,類比類,而標籤反映了一篇文章可能具有的性質,類比接口。

如果說換一個角度思考,歸檔是爲了查找更新和維護,分類是爲了管理,那標籤則是爲了吸引人。對於歸檔教主並不是剛需,我不是太擅長於根據時間線來進行查找(這裏的“不是很擅長”應該理解爲 “be not very goog at”)。

需求

所以說我是非常迫切的想要搭建一個自己的博客的,而且僅僅希望滿足如下的功能:

  • 外觀簡潔美觀
  • 自動跟隨的側邊欄目錄
  • 完全的md語法支持
  • 至少具有分類和標籤兩個文章維度
  • 類 Vue 主題
  • ···



三、靜態站點生成器的選擇

VuePress

因爲比較喜歡Vue的主題,那麼第一個嘗試的肯定也是這款了撒,雖然之前就根本不知道尤大佬還開發了這麼一款博客系統。但是VuePress似乎對開箱即用做的還不是很好,而且我在渲染任務列表時還出現了問題,以下的md內容居然無法正常渲染:

- [x] 已完成
- [ ] 未完成

但不得不說這款站點是好看,真的好看,真的好看,真的好看!

目前比較好看的主題教主目前所知有:

  • vuepress-theme-ting,小姐姐寫的主題,是非常nice的,但是對對小姐姐沒有抵抗力的孩子來說還是有點太過唯美。
  • vuepress-theme-reco,這款主題感覺還是挺好的,提供了一些VuePress本身沒有的開箱即用的功能,並且配有比較完善的文檔。

對於在VuePress官網中的標籤:

簡潔至上

以 Markdown 爲中心的項目結構,以最少的配置幫助你專注於寫作。

以及尤大佬在和Hexo做對比時提到的:

Hexo

Hexo 一直驅動着 Vue 的文檔 —— 事實上,在把我們的主站從 Hexo 遷移到 VuePress 之前,我們可能還有很長的路要走。

至少在目前而言,我感覺如果需要用VuePress來搭建個人博客,還是需要經歷不少的折騰的。而從另一個角度講,教主還是非常喜歡這款博客的就像初戀對象一樣。單純就主題本身而言:

  • 高度自由——甚至可以用Vue本身來寫文章。
  • 主題依賴——個人感覺VuePress使用主題要比Hexo主題麻煩不少。

Hexo

Hexo是教主體驗時間最長的一款博客系統,文檔完善,主題豐富,開箱即用·······所以也就單單就主題而談。

其中教主嘗試過的主題比較喜歡的有:

  • hexo-theme-butterfly,首先這款主題恰好符合了我所有的需求,其次即便切換成中文簡體但部分地方還是有點那個啥,最後就是配色的對比度不太高(其實折騰起來也不是太困難,只是懶)。
  • hexo-theme-sakura,這款主題是在B站上看到的,就封面而言簡直美的無話可說。
  • hexo-theme-matery,matery目前的使用歡迎度還是非常高的,就一手README.md就堪比文檔,羣裏也十分熱鬧並有大佬非常完善的保姆級教程,可以說“談笑有鴻儒,往來無白丁”~

對比

相比之下教主折騰Hexo+matery的時間更長一些。

VuePress Hexo
優勢 1. Vue驅動,可頂制度非常高。
2. 清新自然,配色養眼。
1. 開箱即用,配置簡單。
2. 文檔完善,主題豐富。
不足 1. 文檔不太全,主題不太多。
2. 配置不是十分方便。
1. 不是特別的清新唯美。
2. 個性化定製需要一些基礎。

以配置的方式舉例

VuePress的配置通常需要導出爲一個JSON對象,而Hexo只需要在Yaml文件中配置即可。起初教主也並不是很喜歡Yaml格式的,認爲相較於properties或者xml而言總感覺Yaml不夠規範不敢接受。但是當配置一旦多起來後,JSON簡直是一種災難不忍直視,而Yaml文件卻依舊可讀性很高。或者說JSON天生適合數據的傳輸。

以md渲染舉例:

vue主題清新唯美,不接受反駁。



四、博客的部署

一鍵部署

VuePress和Hexo都提供了簡單方便的一鍵部署且配有完整的文檔支持。

教程

hexo-matery主題的羣裏面有位大佬提供了從使用Git到博客優化的保姆級教程:https://yafine-blog.cn/

注意事項:

  • GitHub的Pages服務需要的倉庫名爲:<USERNAME>.github.io,而Gitee的Pages服務需要的倉庫名爲:<USERNAME>
  • Gitee的Pages服務免費版需要手動部署(倒也不是多麻煩的事),而且不支持綁定自定義域名(適合作備用站點)。

備案

備案也不是剛需,只是圖牀總是需要的吧,而大部分的可提供免費對象存儲的空間和流量的圖牀,如七牛雲、又拍雲等等等等都需要已備案的域名。

教主趁去年優惠的時候買過阿里雲的ECS和域名,只需要備案接入即可。而且就目前來看,有一個服務器和域名起碼可玩性要高很多的。

源碼上傳

將源碼保存到倉庫中總是非常有必要的,爲了避免和項目雜糅,教主在Gitee的Pages倉庫下新建遠程分支source,並且在本地切換(新建)source分支,然後本地使用瞭如下的目錄結構:

/.../source/                        # 源碼目錄
    |-- .git/                       # 倉庫信息
    |-- hexo-matery-icefery         # 項目目錄
    |   |-- .deploy_git/            # 部署信息
    |   |-- scaffolds/              
    |   |-- source/
    |   |-- themes/
    |   |-- _config.yml
    |   |-- package.json
    |-- README.md                   # README   

git push時要保證本地分支和遠程分支一致。

git branch <BRANCH_NAME>            # 查看或新建本地分支
git checkout <BRANCH_NAME>          # 切換本地分支



五、總結

很遺憾的是,教主已決定刪除用於Pages的主分支,僅保留源碼分支。

收穫

如果說就博客系統而言那還的確沒啥收穫,因爲保姆級的教程是現成的,畢竟對於玩hexo來說,教主難以深入、無法淺出。但是折騰的過程中必然伴隨着要接觸很多有的沒的,比如對象存儲、CDN、防盜鏈、SSL證書、評論交互······等等等等的,畢竟跟大佬交流時知識的廣度總是指數型增長的。

遺憾

其實不想再折騰的主要原因還是太懶,然後就不想再維護。對於目前而言,有些地方折騰所需要的成本,對教主來說還是蠻高的。另一方面教主目前還是太菜了真的太菜了,連個.ejs文件都不知道是什麼,哎太難了。摘錄B站評論區看到一句話:

若無力駕馭,自由便是負擔。

就比如說上網課,課是自己選的總不能······,教主也不得不把在回家前在學校好不容易裝的Arch又重新換回了Win10。如果說接下來的時間必然要忍受Win的什麼什麼倒也不必,只能說就算是生活也總也有它不得已的地方吧,而且教主也的確沒有駕馭Linux的能力,只能說是好玩吧。

或者說,等課結束了也應該不會再裝Arch了吧,折騰完了也該找個中下游的發行版穩定下來,就比如聽說好像Manjaro最新版已經能夠完全不用去管N卡了。

又或者說接踵而來的還有其它一些不得不用Win的因素,總之也都是在提醒我:條件不足以使用Mac,能力不足以駕馭自由。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章