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

2025 年 4 月生活雜談

2025 年 4 月生活雜談

今年越來越難靜下心來好好寫文章,我想是身邊太多事情會讓自己分心了,尤其是 2 月中買了 PS5 之後現在晚上的時間大多數拿來打電動放空腦袋,而不是像之前一樣硬是要坐在電腦桌前讓自己嘗試做一些有生產力的事情。 加上最近自己也沒有用到太多自己覺得真的很驚艷的服務或是 App 想要特別為他撰文介紹給大家,於是乎就都是像現在這樣的隨手記了。以下就來分享一下最近自己生活中比較有感觸的事情。 職場鬼故事 自己雖然算是半脫離的職場(Freelance),但反而聽到了更多了職場鬼故事。讓自己不禁思考現在的工作環境真的這麼糟糕嗎?當然我知道大部分的人講到工作都是分享壞消息居多,但也太一面倒的幾乎都是壞消息了吧! 除了部分的朋友找工作沒那麼順利,有找到工作的新環境也不是太理想。少數聽到新工作很棒的反而是在中國工作的朋友說新公司的整體工作氣氛和環境比之前在台灣的公司還要棒!不過他在中國是待外商、在台灣是待台商。 近期養成的新習慣:吃早餐 最近因為早上要吃過敏藥來抑制自己一直流鼻涕、擤鼻涕的循環,加上自己的體重莫名的越來越輕,想要增重的我就開始嘗試吃早餐。現在的早餐吃的很簡單,買半條吐司和果醬

Minttr,無壓力式的筆記、個人的思想集散地

Minttr,無壓力式的筆記、個人的思想集散地

不確定大家有沒有過這種時候?就是想要記錄一些事情但又不知道要從何開始寫,或是一打開筆記軟體就覺得寫作很有負擔,所以就懶得開始。但寫字這件事,如果沒有一個起頭的話你的想法就會只留存在你心中了。 而 Minttr 是一款我最近蠻喜歡用來記錄自己的心得和想法的一個筆記工具(目前只有網頁版),他的特色是每個筆記都是一張獨立的卡片,沒有像其他筆記軟體有 backlink、wikilink 或是資料夾等功能,Minttr 就是單純的將卡片分成 4 種不同的類型:文字、圖片、連結和畫布。 我個人使用最多的是文字這個卡片類型。 在文字卡片的模式下,你只能使用純文字,無法插入圖片,只有支援一些簡單的文字格式例如粗體、斜體、清單等。這樣的功能雖然有其侷限,但也因為功能相對單純,所以我將 Minttr 定位成用來記錄我一些碎片化的想法、心得。而這些記錄下來的內容是我日後不一定會拿來回顧,就只是單純地記錄我當下的心情,把這個地方當成一個集散地而已。 Minttr 在文字卡片模式中有一個我用起來非常愛的功能,他可以針對你的文字內容進行反思。他的這個反思功能所講出來的話或許對有些人來講會覺得有些太

對於「花錢」這個價值觀的一點轉變

對於「花錢」這個價值觀的一點轉變

今年 1 月份的時候,我在 Twitter 上看到我很欣賞的一個人 PJ WU 說他付費支持了一個獨立開發者的軟體 Minttr,它的介紹頁就只有一個首頁,我很好奇是什麼樣的軟體會讓 PJ 如此支持,便在還沒很了解這個軟體到底是幹嘛的狀況下,在看到這則推文的 10 分鐘內就付了 US$49 的錢當早期支持者,直到付完錢登入使用後才發現 Minttr 的功能和細節跟自己預期的有一點落差,不過因為開發者說他在發布正式版後的 90 天內想退費都可以,所以這件事就這麼擱著了,偶爾會剪貼一些東西上去。 而也是在登入後有一點失望的同時讓我突然意識到,我自己竟然可以這麼爽快地把 US$49 刷下去。而且前幾天我才捐款給花蓮門諾,那時候我原本想說捐個 NT$1,000 好了,但猶豫了一下後只改成捐 $600。我突然對於我花錢在軟體上跟捐款的豪爽度差異這麼多感到有點慚愧。 於是乎我跟自己立下了一個約定:「每付費買一個軟體,就捐該軟體售價的一半費用給公益團體」。我會先在 2025 年先試行看看自己對於這樣的感覺如何。 而且仔細想想,

2024 年的日常和工作軟體清單

2024 年的日常和工作軟體清單

* 待辦事項:Things 3,原本嘗試使用 Linear 這個專案管理工具,但因為現在沒有協作的對象,所以還回歸專注把「待辦事項」這個事情做好的 Things。 * 郵件:Apple Mail,原本有嘗試 Spark、Canary 等,但還是回歸內建的比較輕量。 * 筆記軟體 * Bear:日常紀錄、部落格文章和不需要分享的工作筆記,在 iOS 和 Mac 間快速的同步以及流暢的使用是其他軟體少有的。 * Craft:需要分享給其他人的筆記,大多數為工作用。 * 行事曆:Apple Calendar 搭配 Fantastical 使用。Fantastical 的自然語言輸入功能真的很方便,可惜要付年費。 * 音樂:Spotify,我很喜歡他的 start jam 的功能,當跟別人一起出遊的時候大家都可以放自己喜歡的歌。 * 專注:Endel,可以根據不同的情境有不同的音樂,