Valine
一款快速、簡潔且高效的無後端評論系統。
Valine 誕生於2017年8月7日,是一款基於LeanCloud的快速、簡潔且高效的無後端評論系統。
理論上支持但不限於靜態博客,目前已有Hexo、Jekyll、Typecho、Hugo、Ghost 等博客程序在使用 Valine。
特性
- 快速
- 安全
- Emoji 😉
- 無後端實現
- MarkDown 全語法支持
- 輕量易用(~15kb gzipped)
- 文章閱讀量統計 v1.2.0+
快速使用
- 註冊LeanCloud
- 創建
Valine
應用,名稱任意,例如Valine
- 進入對應的應用,點擊
設置 -> 應用 Keys
,獲取AppID
和AppKey
- 以
Hexo
主題配置文件爲例,填入對應的地方,後面考慮加入到Django
valine:
enable: true
appId: AppID
appKey: AppKey
notify: false
verify: false
visitor: true
avatar: 'mp' # Gravatar style : mp/identicon/monsterid/wavatar/retro/hide
pageSize: 10
placeholder: 'just go go' # Comment Box placeholder
Valine 配置
- 查看評論
點擊存儲 -> 結構化數據
,選擇創建Class
,名稱Comment
,其他保持默認,以後就可在此Class內查看 - 文章閱讀量統計
點擊存儲 -> 結構化數據
,選擇創建Class
,名稱Counter
,其他保持默認,以後就可在此Class內查看
注:文章閱讀量統計有時會和博客內的統計軟件不兼容
Valine-Admin
簡介
Valine Admin 項目是一個對 Valine 評論系統的拓展應用,可增強 Valine 的郵件通知功能。基於 Leancloud 的雲引擎與雲函數,主要實現評論郵件通知、評論管理、自定義郵件通知模板等功能,而且還可以提供郵件 通知站長
和 @ 通知
的功能。
部署
- 需要確保 Valine 的基礎功能是正常的,參考 Valine Docs。
- 進入 Leancloud 對應的 Valine 應用中。
- 點擊
雲引擎 -> 設置
填寫代碼庫:https://github.com/hongweifuture/Valine-Admin
,保存
- 設置
自定義環境變量
,需要設置雲引擎的環境變量以提供必要的信息,變量參數參考下面的配置項
配置項
變量 | 示例 | 說明 |
---|---|---|
SITE_NAME | HONGWEI’S Blog | [必填] 網站名稱 |
SITE_URL | https://www.zhwei.cn | [必填] 網站地址,最後不要加 / |
SMTP_SERVICE | [必填] 郵件服務提供商,支持 QQ、163、126、Gmail 以及 更多。 — 如這裏沒有你使用的郵件提供商,請查看自定義郵件服務器 | |
SMTP_USER | [email protected] | [必填] SMTP登錄用戶,一般爲郵箱地址 |
SMTP_PASS | xxxx | [必填] SMTP登錄密碼,一般爲授權碼,而不是郵箱的登陸密碼,請自行查詢對應郵件服務商的獲取方式 |
SENDER_NAME | HONGWEI’S Blog Valine 評論提醒 | [可選] 發件人 |
ADMIN_URL | https://xxx.leanapp.cn/ | [建議] Web主機二級域名,用於自動喚醒 |
TO_EMAIL | [email protected] | [可選] 指定站長收信郵箱,默認值爲SITE_USER 。用於 SMTP 發件人與站長收件人不一致的情況下使用。 |
TEMPLATE_NAME | rainbow | [可選] 通知郵件的模板(default和rainbow),參考高級功能 |
- 點擊
雲引擎 -> 部署
,選擇Git源碼部署
,分支或版本號輸入master
,下載最新依賴(可選),部署
後臺管理
- 點擊
雲引擎 -> 設置
,在Web主機域名
位置點擊申請
,獲取二級域名,現在的二級域名不支持自定義,如果想好記請參考高級功能
- 設置後臺管理登錄信息,點擊
存儲 -> 結構化數據
,選擇_User -> 添加行
,只需要填寫password
、username
、email
這三個字段即可, 使用 email 作爲賬號登陸、password 作爲賬號密碼、username 任意即可。(爲了安全考慮,此 email 必須爲配置中的 SMTP_USER 或 TO_EMAIL, 否則不允許登錄)
- 此後,可以通過
https://二級域名.leanapp.cn/
管理評論
定時任務
免費版的 LeanCloud 容器,是有強制性休眠策略的,不能 24 小時運行:
- 每天必須休眠 6 個小時
- 30 分鐘內沒有外部請求,則休眠
- 休眠後如果有新的外部請求實例則馬上啓動(但激活時此次發送郵件會失敗)。
分析了一下上方的策略,如果不想付費的話,最佳使用方案就設置定時器,目前基於 LeanCloud 自帶定時器實現了兩種雲函數定時任務:
- 自動喚醒,定時訪問Web APP二級域名防止雲引擎休眠(推薦)
- 定時檢查,每天定時檢查24小時內漏發的郵件通知
配置
- 首先需要添加環境變量,點擊
雲引擎 -> 設置
,配置自定義環境變量
,變量名ADMIN_URL
,變量值Web 主機域名,即二級域名地址
,添加後重啓容器環境變量纔會生效 - 配置定時任務,擊
雲引擎 -> 定時任務
- 配置自動喚醒(推薦),創建定時任務,名稱任意,生產環境選擇
self-wake
雲函數,Cron表達式填入0 */20 7-23 * * ?
,表示每天 7 - 23 點每 20 分鐘訪問一次,這樣可以保持每天的絕大多數時間郵件服務是正常的。 - 配置定時檢查,創建定時任務,名稱任意,生產環境選擇
resend-mails
雲函數,Cron表達式填入0 0 8 * * ?
,表示每天早8點檢查過去24小時內漏發的通知郵件並補發
高級配置
顯示個性頭像
Valine 目前使用的是Gravatar 作爲評論列表頭像。
請自行登錄或註冊Gravatar,然後修改自己的頭像。
評論的時候,留下在Gravatar註冊時所使用的郵箱即可。
感謝gravatar.cat.net
提供的鏡像服務。
如果你修改了頭像後發現沒有更新,請不要慌張,因爲
gravatar.cat.net
有七天的緩存期,安靜的等待吧~
目前非自定義頭像
有以下7種默認值
可選:
參數值 | 表現形式 | 備註 |
---|---|---|
空字符串'' |
Gravatar官方圖形 | |
mp |
神祕人(一個灰白頭像) | |
identicon |
抽象幾何圖形 | |
monsterid |
小怪物 | |
wavatar |
用不同面孔和背景組合生成的頭像 | |
retro |
八位像素復古頭像 | |
robohash |
一種具有不同顏色、面部等的機器人 | |
hide |
不顯示頭像 |
new Valine({
...
avatar:'' // (''/mp/identicon/monsterid/wavatar/robohash/retro/hide)
});
Gravatar是什麼? ------下面內容摘抄自異次元軟件世界
Gravatar
,它的全稱叫做“Globally Recognized Avatar”,翻譯過來叫做全球通用頭像。
Gravatar 的概念首先是在國外的獨立 WordPress 博客中興起的,當你到任何一個支持Gravatar的網站留言時,這個網站都就會根據你所提供的 Email 地址爲你顯示出匹配的頭像。當然,這個頭像,是需要你事先到 Gravatar 的網站註冊並上傳的,否則,在這個網站上,就只會顯示成一個默認的頭像。
這個Web2.0時代的產物,當時好多網站均已支持Gravatar服務了,你可以通過你的個性頭像打造起你的個人品牌了!並且這個 Gravatar 沒有什麼約束,想換頭像換馬甲?很簡單,改改留言的名字和email地址就可以了。另外註冊與使用 Gravatar 均是完全免費的,唯一的門檻是,國內可能無法正常訪問。
大致使用流程:
- 註冊:進入Gravatar網站,點擊頁面的Sign Up進行註冊。
- 驗證:進入你的郵箱,從
Gravatar
發出的信件中拷貝那段鏈接地址,在瀏覽器輸入。 - 設置暱稱、密碼。
- 選擇上傳圖片:一般都是從電腦中上傳(My computer’s hard drive)。
- 剪裁大小
- 評級:你的頭像要被分級的,因爲可能會有朋友喜歡用比較曝露的頭像,會影響小朋友身心健康的說。如果你的圖片不是特別那個的話,一般不用選擇Sex或暴力之類的,直接選擇G(通用型),這樣基本任何網站都能顯示這個等級的圖片。異次元比較邪惡,暫時允許顯示R級以下的頭像…
- 等待審覈:可能需要站方短暫審覈一下,一般選擇了G,而你的圖片沒什麼特別的,很快就通過。一般遇上慢的情況也就10分鐘左右。
完成了以上步驟,今後在支持Gravatar
的網站留言都會顯示你帥帥的頭像了。暫時來說,大部分支持Gravatar的網站均是使用 WordPress 程序的博客,但其實任何其他網站程序,如果加入了Gravatar的代碼,也是可以支持Gravatar的。估計這個應用在日後會漸漸普及起來吧,起碼用戶不需要每到一個網站去就搞一下頭像……
Valine的個性頭像就是來自Gravatar網站