長長週末 upgrade 我的 blog !看看我的上兩篇關於架設 blog 的文:

已經是三年前的事了!睽違三年再度來進行無聊的技術細節筆記。

就像上面兩篇中提到,這個 blog 的系統是當年 Ghost 的 release 版本,架設在 Heroku 上面。

我的後台每次登入都會顯示,叫我更新到新的 v0.11.15 喔!我的版本是 0.11.9 。看看現在的 Ghost 官網,已經是 version 3.X 了!世界進步好快快的我跟不上。

因為版本差太多了,我甚至不記得自己當初怎麼設定和更改的,花了一些時間讀自己的文章和 code 。

接著查看 Ghost 的文件 How to upgrade from v0.1 to the latest version ,可以發現 Ghost 的建議分成幾個步驟

  1. Export content from v0.1
  2. Create a brand new Ghost v1 install
  3. Import content
  4. Run the Ghost update command

從 v1 以後的 update 也太簡單了吧跑個 command 就好了!但我要重新建一個 v1 來匯入資料。反正怎麼樣都是要重新建一個了,不如就直接在 Heroku 上開一個新的 app 和新的 database 吧,然後再把 domain name 指過去。

  1. Create a new app in Heroku
  2. Migrate data
  3. Update domain name

可以發現要轉移資料中間有一個手動裝好 v1 以後更新成 v3 的過程,但說真的這些事情我自己 local 完成就好了,Heroku 那邊完全不需要做這些事情。可以完全就 focus 在建一個新的 v3 的 Ghost app 。

Create a new app in Heroku

找到這個,一鍵完成,實在太容易了。年紀大了,不需要事事都堅持自己重造輪子。

做完這個以後我的 Heroku 裡面就多了一個 Ghost 3.2.0 的 app 。雖然還不到最新 3.16.1 ,但我們不需要為了那一點點小小的躍進這麼堅持。何況他幫我把 database 和 storage 都接好了,我一行 code 都不用寫,連 clone repo 都不需要!

做完以後我就有一個新的空的 blog 了。接下來要匯入資料。

Migrate data

回到上面提到的 Ghost 的建議:

  1. Export content from v0.1
  2. Create a brand new Ghost v1 install
  3. Import content
  4. Run the Ghost update command

在 local 端完全依造指示,什麼其他事都不用做。唯一要注意的是,因為這中間會橫跨 Ghost v1-v3 ,所以 node 版本要能支援這兩個版本。看了 Supported node versions for self-hosted installs of Ghost 以後一開始先選了它建議的 v12 LTS ,結果走太前面了 v1 不支援。啊你又沒說!後來改成 v10 LTS 以後成功了。還好我有用 nvm ,萬歲!(結果裝了一堆版本的 node)

完成以後在新的 v3 app 裡匯出資料拿去 Heroku 匯入就好。還好資料超少?

Update domain name

這個就沒什麼好解釋了,我的 domain name 是由 Google 註冊,但為了免費 SSL 而讓 nameservers 在 Cloudflare 。設定過程有遇到一些問題是舊的 app 沒有遇到但新的會有的,改了一些設定以後成功了,但我自己還沒有非常清楚發生了什麼事,就不特別說了。

Next Step

我對更新以後的前台版面和後台都有點不滿的地方,整體而言變得有點 fancy 。前台的話,一些我喜歡的點:

  • 首頁卡片式顯示文章,而且 featured image 會出現在首頁了!
  • 首頁 Continuous scrolling ,滑到底載入新文章,不用翻頁了
  • Dark mode!我第一次知道可以這樣做,他會反映我的 Mac 的 dark mode 顯示黑底白字。Light mode 時是黑底白字。不知道在手機和 Windows 上怎麼設定 dark mode ?發現是新的 CSS : prefers-color-scheme - CSS: Cascading Style Sheets | MDN

比較不喜歡的點:

  • 文章的字型
  • 文章裡 Featured image 顯示方式,比較喜歡原本的滿版顯示
  • 居然只能顯示一個 tag !這也太過分了吧!
  • 三年前設的不知道哪裡找來的英文副標變得有點醒目,有點恥。但還沒想到新的句子可以換掉它。

後台也變複雜了,比較喜歡原本的後台又簡單又快QQ

  • 原本編輯器分兩欄,一欄寫 Markdown ,一欄直接預覽。現在編輯和預覽變成兩個不同 mode 了
  • 原本在 v0.11 各種圖片都可以輸入 url ,現在變成一定要上傳圖片。雖然應該可以 work 但不太滿意。

前台大部分都是 theme 可以改,但是好懶。後來我還是改了一些,可以之後再來說明一下。

長長週末,做了久違的工作以外的科技(?)事,寫一篇沒幾個人會看的文!