Hexo優化:新增圖片圖床、更換文章閱讀計數器服務

架設 Hexo 約莫半年了,目前用起來還算滿意,網站的讀取速度很快,用 Markdown 來寫文章對我來講也很方便,但還是有遇到一些小問題。

  1. 1個月前NexT主題宣布他們要移除「full-image tag」,這讓我要重新改寫圖片的引用方式。
  2. 文章閱讀計數器服務 LeanCloud 宣布使用中國版如果不綁定自己的域名的話服務將會被禁用,必須要將域名提交給中國政府審查。

這篇文章主要是記錄我自己是怎麼解決這兩個問題。

圖床服務 Cloudinary

市面上的圖床服務蠻多的,像台灣人比較熟知的應該是 imgur ,而我個人是上網查詢到別人推薦的 Cloudinary,因為他除了影片外還支持影片上傳。

Cloudinary 的免費版本會給你 25 GB 的空間以及 25 GB 的頻寬,所以說如果你的圖片平均只有 200 KB(對網頁來講已經很大了)的話可以放 12,500 張圖片以及顯示 12,500 次圖片,我自己是覺得這樣對我來說已經蠻夠用了,如果會超出這個頻寬範圍的話代表我應該經營的還算有起色,可以直接付費了?XD

當然 Cloudinary 跟 Dropbox 一樣有方法可以獲得額外的空間和頻寬,如果以下都做完的話最多可以免費得到額外的 148 GB 空間,有沒有覺得其實超夠用了!

  1. 將你的「推廣網址」推到 Twitter 或是分享到 Facebook 上,可以得到 6 GB 空間。
  2. 追蹤 Cloudinary 的 Twitter 帳號和成為他們的 Facebook 粉絲,即可得到 2 GB 空間。
  3. 當有人透過你的「推廣網址」註冊成為免費用戶即可得到 3 GB 空間,成為付費用戶可以得到 7 GB 空間(上限 20 名)。

Cloudinary 推廣取得空間說明

此外,Cloudinary 還有提供分析工具,讓你知道哪一張圖片、影片顯示最多次,可以幫助你分析哪張圖片表現較好。

替 Hexo 更換文章閱讀計數器服務

NexT 主題官方支援兩個文章閱讀計數器服務,一個是使用中國的 LeanCloud,另一個是 Google 的 firestore。

原本我的部落格是使用比較簡易設置的 LeanCloud,但就像前述所說的,中國那邊越管越嚴格,加上我試著轉去 LeanCloud 的國際版但帳號一直無法驗證成功,我只好改投往 firestore 的懷抱了,缺點是轉移過去後要手動進 firebase 的專案後台一篇篇文章更改閱讀次數,不然就要重新開始了。

現在就來一步步教學大家怎麼使用 firestore 來幫部落格紀錄文章閱讀次數吧!

  1. 首先到 Firebase 網站按新增專案,並輸入你想要的專案名稱,如果你本身有在用 Google Analytics 的人在建立 Google Analytics 的時候可以先跳過,等等再進去專案內把原本使用的整合進去。
    Google Firbase 建立專案
  2. 點選新增網頁應用程式,然後一樣輸入你的應用程式名稱,不用勾選代管服務,然後按註冊應用程式。
    輸入應用程式名稱
  3. 接下來到左側的 database,按建立資料庫,選擇下方的「以測試模式啟動」,然後選擇 Cloud Firestore 的儲存位置。
    建立新的資料庫
    選擇以測試名稱啟動
  4. 更改資料庫的讀取和寫入規則,讓 hexo 可以紀錄你的文章閱讀次數。
    資料庫內的規則改寫

更改代碼如下

1
2
3
4
5
6
7
8
service cloud.firestore {
  match /databases/{database}/documents {
    match /articles/{any} {
      allow read: if true;
      allow write: if true;
    }
  }
}
  1. 至 Firebase 的專案設定找到 API KEY 和 Project ID 並更改 NexT 主題內的 _config.yml 設定文件。
    API KEY 以及 Project ID

更改_config.yml代碼如下

1
2
3
4
5
firestore:
  enable: true
  collection: articles # Required, a string collection name to access firestore database
  apiKey: AIzaSyA9Anvm5yaugqbcIb-zAs50yYr_spOayJ0
  projectId: hexo-teaching

上述作業都完成後應該就可以順利的紀錄部落格內文章的閱讀次數了,現在就執行 hexo ghexo s先去試試看吧!如果沒問題的話就可以用hexo d推送到正式端囉!

備註:文章標題中不能含有 ’/‘ 斜槓符號,不然 js 會報錯無法在文章外層正確顯示閱讀次數。

總結

希望以上兩點能夠幫助到也有在用 Hexo 的你們,如果有問題的話歡迎在下方留言一起討論。

參考資料

Read more

Voicenotes,用語音做思想輸出,與文字輸出截然不同的體驗。

Voicenotes,用語音做思想輸出,與文字輸出截然不同的體驗。

在使用 Voicenotes 之前,我是個不習慣使用語音記錄事情的人,因為我總覺得用語音記錄之後要回頭去找相關訊息會變得很麻煩,他不像文字一樣可以很方便的用搜尋即可檢索。但遇到 Voicenotes 之後,使用語音做記錄成了我的日常,一來是它辨識中文語音的效果非常好,語音轉文字之後基本上不用修太多字詞,二來是我在外面行走的時候想到什麼東西就可以隨口記錄進去(不用當低頭族打字),Voicenotes 變成了一個比較碎片化的靈感集散地。 Voicenotes 這個產品是由 Buy Me a Coffee(BMC) 的創辦人夫婦所開發的,BMC 已經出來了 6 年還有持續在迭代,所以我對於 Voicenotes 這款產品也蠻有信心的,在它剛推出 iOS App 後,我試用的當晚便腦波一弱買了他們的終身方案。大家可以參考他們的 FAQ,裡面有提到他們對這款產品未來的想像(roadmap)。 ChatGPT 的出世打開了大家進入 AI 的大門,這一年多來越來越多產品利用各種語言模型來讓自己變得更加方便。Voicenotes 也是如此,他們採用了 GPT-4、Claude

擁有網域即可擁有免費企業電子郵件:Cloudflare + Gmail + Resend

擁有網域即可擁有免費企業電子郵件:Cloudflare + Gmail + Resend

在創業或做副業初期,通常支出能省則省,本文教你怎麼把電子郵件從user@gmail.com變成比較有識別性的類企業用電子郵件如user@yourcomapny.com。 這樣之後你就可以用比較有識別性的user@yourcompany.com來收發郵件啦!這可以讓你的個人服務或網站更加專業。 免費讓自己擁有企業電子郵件教學 本文共會使用到三個服務 * Gmail:Cloudflare 和 Resend 之間的橋樑,是靈魂 * Cloudflare:使用電子郵件路由(Email Routing)服務,收到信後將不同的郵件地址轉發到其他郵件服務如 Gmail。user@gmail.com -> user@yourcompany.com * Resend:透過 Resend 這個發送電子郵件服務的 API 來完成使用 user@yourcompany.com 發送電子郵件給其他使用者的功能。 前置作業 要開始這邊文章之前,最重要的是你要先擁有自己的網域且該網域要被 Cloudflare 託管,以及你想要變成企業電子郵件的個人郵件。