部落格重架 - 第 0 章 - 回首過去和技術評估
在用了許多平台和自架之後,今年決定來重整一下,再慢慢把文章聚集到這個網站。
目前用了 Hexo ,在分享 Hexo 之前,決定先來記錄一下在這之前用了什麼。
系列文
- 第 0 章 - 回首過去和技術評估 (本篇)
- 第 1 章 - 挑空間和網域
過去用過的東西
撇除一些生活性質的內容,技術性內容最早的話大概是從 2008 ~ 2010 年左右開始吧,有用過動態的 CMS 也有用過平台,也有用過靜態產生器
名稱 | 說明 |
---|---|
Joomla! | 大學的時候經過老師介紹,開始玩 |
Blogger | 當年一心想要線上的部落格,忘記為什麼就搜到 Blogger ,可以高度客製化。但是無法程式碼上色、主題改一改常常壞掉不知不覺就不用了 |
WordPress | oh no … |
痞客邦 | 完全不適合技術文章,放棄 |
logdown | 沒在持續維護,覺得綁手綁腳,放棄 |
Octopress | 當年自己改主題調 SEO 等等。當年在一次 ruby 升版本之後就壞了,不想去改他就放生了。最近想要撿回來修就發現官方已經很久沒維護了於是就直接放棄了。 |
Hatena | 斯 … 用過一兩天完全不能接受,雖然上面有許多技術文章,但是就是不合 |
Qiita | 日語圈,還行,但是還是覺得要有自己的站比較好 XDDD |
詳細的心得
- Octopress
- Markdown 的撰寫方式就是工程師的菜,圖床需要自己打理有點累
- 不過文章可以無痛放來 Hexo 繼續用,覺得開心
- Qiita
- 平台本身的設計越來越不喜歡算是壓倒我的稻草
- 會從文章標題自動生成 open graph 的大圖,這個很愛
例如以 SwiftUI - 用 ForEach 顯示資料的同時取得 index
這個標題,發佈之後平台自己會產一個這樣子的圖給那一篇文章:
![](/2020/10/05/blog-rebuild-0/qiita_og_image.png)
是不是超酷的!!
工具評估
這次重架雖然技術確認了一小輪,不過至少要有並不侷限於這些條件:
- 發文,修改樣式等維護不會太廢神
- 輕鬆佈署
- 可以達到高度客製化(柔軟度),包含想要做到的任何 SEO 調整
- 能靜態就不要動態
- 想要的話可以輕鬆插廣告
- 用自己的網址
調查過的東西
WordPress
一直以來就技術上很崇拜這種很龐然大物的工具,在網路上對 WordPress 一般的評價就是很多插件和 SEO 很厲害。
雖然一直都不太會用它但是還是把它納入技術評估的清單了。
想過以下好幾個方式,不過最後都覺得太麻煩以及編輯器完全不是我的菜,也不是非常對技術文章友善,因此還是放棄了
- 用 Docker 裝 WordPress 直接塞入 AWS EC2
- 用 Docker 裝 WordPress ,運用 AWS ECS + ECR
- WordPrss 的 DB 拉到 RDS ,圖床拉到 S3
全部都調查完之後,雖然這些技術很有趣,弄起來看起來也很猛。但是,決定不要把自己搞這麼累扼殺自己寫文章的動力。再來是全站都是靜態內容,根本不需要這麼龐大的架構。於是再次剔除 WordPress
Blogger
除了 Qiita 和 Octopress 之外,自己用最久的應該就是 Blogger 了。
但是網站主題的開發真的是我的超大陰影,還有無法方便離線版控完全不能接受,想了一下下之後把新開的部落格再把它關掉了 XDDDD
Hugo
不知道為什麼就是胃口不合…
Publish
純 Swift ,感覺很好玩很厲害,以 iOS 工程師來說非常支持這類型的專案!
但是需要搞懂他怎麼弄,由於沒有其他靜態生成器有一個預設再那邊的東西,因此全部都要自己重弄和理解他的 API 怎麼用。
玩了一兩個晚上之後覺得離網站發佈會越來越遠,就放棄了。
自架 CMS
好遙遠的一條路。雖然有想過寫靜態產生器或是動態網站兩個作法,最後還是作罷。
Hexo
以結果來說, Hexo 算是最接近我的技術掌握程度:
- HTML, JavaScript, SCSS
看了一下網路上的影片也有辦法快速架起我自己的主題,也可以在不用觸擊核心的情形之下做到許多我想做的事情。
於是就開始正式以 Hexo 來當這次網站重架的工具了。
結論
對於這一次上線,自己有定下幾個原則
- 能上就趕快上,能不拖就不拖
- 小步快跑,以一到三天的頻率加入自己期望的功能
- 訂出上線最底限,雖少但不缺,桌機瀏覽器可以正常閱讀,以及像是追蹤用基本的 ga 等一定加。其他後來再慢慢加也沒關係
- 像是 SEO, og, schema.org 最佳化, 自動產 og image, 文章內目錄 (toc) … 等獲取讀者以及改善閱讀體驗的功能
- 目前雖然大部分都是手動來,未來期望可以切乾淨 repository 並以 CI 佈署
- 包含在本地端不要用到線上的 ga id 等等
最後一點,就是下一篇預計要分享的,從撰寫到發佈規劃與自動化。之前還在用 Octoress 就有規劃過,只是當時能力和知識不足無法達成,希望這次能夠照規劃一步一步的完成!
今天就先到這裡唄 :)