日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

Hexo NexT 评论系统 Valine 的使用

發布時間:2024/1/8 windows 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Hexo NexT 评论系统 Valine 的使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

  • 評論系統 Valine 的使用
    • 1 Valine 的介紹
    • 2 Valine 的使用
    • 3 Valine 的配置
    • 4 Valine 的優化
      • 4.1 去除 Valine的 Powered By
      • 4.2 郵件通知功能
        • 4.2.1 原郵箱模板通知功能
        • 4.2.2 Valine-Admin 通知功能
      • 4.3 實現評論顯示 QQ 郵箱頭像
        • 4.3.1 下載 Valine.min.js
        • 4.3.2 增加 QQ 頭像判別
      • 4.4 設置郵箱審核規則
      • 4.5 點擊回復直接評論
      • 4.6 實現評論自定義背景


評論系統 Valine 的使用

注明:以下方案是在 Valine 1.4.9 版本下完成,對于其他版本應該會根據實際情況修改參數,使用 F12 查看參數修改即可使用!(說明于 2020 - 04 - 25)

強烈推薦大佬們直接去看 cungudafa 對于 Valine 評論系統的優化,實在是棒,本人博客:EnjoyToShare 的評論系統也是根據這位大佬的文章闡述修改而來,在此對她表示感謝!

1 Valine 的介紹

一款快速、簡潔且高效的無后端評論系統。

Valine 誕生于 2017 年 8 月 7 日,是一款基于 LeanCloud 的快速、簡潔且高效的無后端評論系統。

理論上支持但不限于靜態博客,目前已有 Hexo、Jekyll、Typecho、Hugo、Ghost 等博客程序在使用 Valine。

Valine 特性

  • 快速
  • 安全
  • Emoji 😉
  • 無后端實現
  • MarkDown 全語法支持
  • 輕量易用(~15kb gzipped)
  • 文章閱讀量統計 v1.2.0+

2 Valine 的使用

1 注冊 LeanCloud

2 創建 Valine 應用,名稱任意,例如 Valine-Admin

3 進入對應的應用,點擊 設置 -> 應用 Keys,獲取 AppID 和 AppKey

4 在 Hexo 博客主題配置文件 next/_config.yml 中進行配置,大家也可根據自己來設置該評論設置。

valine:enable: true # 設置為true,默認為falseappid: # 將應用key的App ID設置在這里appkey: # 將應用key的App Key設置在這里notify: false# 郵箱通知 , https://github.com/xCss/Valine/wiki,默認為falseverify: false# 驗證碼 默認為falseplaceholder: Just go go ^_^ # 初始化評論顯示,根據自己修改,這里默認,avatar: monsterid # 頭像風格,默認為mm,可進入網址:https://valine.js.org/visitor.html查看頭像設置,這里有許多頭像風格,進行設置guest_info: nick,mail,link # 自定義評論標題pageSize: 10 # 分頁大小,10頁就自動分頁visitor: true # 是否允許游客評論 ,進入官網查看設置:https://valine.js.org/visitor.html

了解更多 Valine 配置參數信息請參考:Valine 官方文檔

3 Valine 的配置

1 查看評論

點擊 存儲 -> 結構化數據,選擇 創建 Class,名稱 Comment,其他保持默認,以后就可在此 Class 內查看

注:選擇 Valine 評論系統是因為支持國內網絡,不需要連接外網(翻墻)就可以進行顯示評論系統,而且很好管理,頁面簡單

2 文章閱讀量統計

點擊 存儲 -> 結構化數據,選擇創建 Class,名稱 Counter,其他保持默認,以后就可在此 Class 內查看

4 Valine 的優化

4.1 去除 Valine的 Powered By

我喜歡簡潔一點,所以想去掉這個提示。查看 Elements 可以看到這個 div,那么我只要移除這個 div 下的所有子節點,就可以去掉這個 Powered By 了。

但是怎么改呢?

使用 F12,按 ctrl + shift + c,鼠標放到 Powered By 的地方,點擊一下,看到如下圖:

這個 div 里的就是要修改的,打開 themes/next/source/css/_custom/custom.styl 文件,添加以下內容:

// 隱藏 valine 的 powered by .vcopy.txt-right {display: none; }

效果:

4.2 郵件通知功能

4.2.1 原郵箱模板通知功能

登錄 leadcloud 后臺,在應用的設置->郵件模板->郵件主題(修改主題名稱和內容,保存)

修改郵件主題:你在{{appname}}的評論收到了新的評論

內容如下:(鏈接為你的博客主頁鏈接)

<p>Hi, {{username}}</p> <p>你在 {{appname}} 的評論收到了新的回復,請點擊查看:</p> <p> <a href="https://cungudafa.gitee.io" style="display: inline-block; padding: 10px 20px; border-radius: 4px; background-color: #3090e4; color: #fff; text-decoration: none;">馬上查看</a></p>

點擊 “保存” 按鈕

并且修改主題配置文件:改成 true

郵件回復功能

登錄 leadcloud 后臺,在應用的設置->郵件模板->郵件主題(修改主題名稱和內容,保存)

修改郵件主題:你在{{appname}}的評論收到了新的評論

內容如下:(鏈接為你的博客主頁鏈接)

<p>Hi, {{username}}</p> <p>你在 {{appname}} 的評論收到了新的回復,請點擊查看:</p> <p> <a href="https://cungudafa.gitee.io" style="display: inline-block; padding: 10px 20px; border-radius: 4px; background-color: #3090e4; color: #fff; text-decoration: none;">馬上查看</a></p>

點擊 “保存” 按鈕

并且修改主題配置文件:改成 true

不是很 nice!下面給出一個加強 plus 版

4.2.2 Valine-Admin 通知功能

這里會使用到 Valine Admin,Valine Admin 項目是一個對 Valine 評論系統的拓展應用,可增強 Valine 的郵件通知功能?;?Leancloud 的云引擎與云函數,主要實現評論郵件通知、評論管理、自定義郵件通知模板等功能,而且還可以提供郵件 通知站長 和 @ 通知 的功能。

(1)設置云引擎

  • 需要確保 Valine 的基礎功能是正常的,參考 Valine 官方文檔

  • 進入 Leancloud 對應的 Valine 應用中。

  • 點擊 云引擎 -> 設置 填寫代碼庫:https://github.com/wugenqiang/Valine-Admin,保存

  • 設置自定義環境變量,需要設置云引擎的環境變量以提供必要的信息,變量參數參考下面的配置項

配置項

變量示例說明
SITE_NAMEHONGWEI’S Blog[必填] 網站名稱
SITE_URLhttps://wugenqiang.github.io[必填] 網站地址,最后不要加 /
SMTP_SERVICEQQ[必填] 郵件服務提供商,支持 QQ、163、126、Gmail 以及 更多。 — 如這里沒有你使用的郵件提供商,請查看自定義郵件服務器
SMTP_USERxxxx@qq.com[必填] SMTP登錄用戶,一般為郵箱地址
SMTP_PASSxxxx[必填] SMTP登錄密碼,一般為授權碼,而不是郵箱的登陸密碼,請自行查詢對應郵件服務商的獲取方式
SENDER_NAMEHONGWEI’S Blog Valine 評論提醒[可選] 發件人
ADMIN_URLhttps://xxx.leanapp.cn/[建議] Web主機二級域名,用于自動喚醒
TO_EMAILxxxxx@gmail.com[可選] 指定站長收信郵箱,默認值為SITE_USER。用于 SMTP 發件人與站長收件人不一致的情況下使用。
TEMPLATE_NAMErainbow[可選] 通知郵件的模板(default和rainbow),參考高級功能
  • 點擊 云引擎 -> 部署,選擇 Git 源碼部署,分支或版本號輸入 master,下載最新依賴(可選),部署

(2)評論后臺管理

  • 點擊 云引擎 -> 設置,在Web主機域名位置點擊申請,獲取二級域名,現在的二級域名不支持自定義,如果想好記請參考高級功能

  • 設置后臺管理登錄信息,點擊 存儲 -> 結構化數據,選擇 _ User -> 添加行,只需要填寫 password、username、email 這三個字段即可, 使用 email 作為賬號登陸、password 作為賬號密碼、username 任意即可。(為了安全考慮,此 email 必須為配置中的 SMTP_USER 或 TO_EMAIL, 否則不允許登錄)_

輸入 https://kilqxscmpyri.leanapp.cn/ 登陸測試:輸入你自己的二級域名

此后,可以通過 https://二級域名.leanapp.cn/ 管理評論

(3)定時任務接收

防止云引擎休眠

免費版的 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 小時內漏發的通知郵件并補發

顯示這樣表明 OK

效果圖:

4.3 實現評論顯示 QQ 郵箱頭像

1 獲取接口

一個是 QQ 頭像的,一個是 Gravatar 國內源,它們的調用方式如下:

  • QQ頭像: http://q1.qlogo.cn/g?b=qq&nk=QQ號&s=100
  • Gravatar頭像: http://cdn.v2ex.com/gravatar/md5加密后的郵箱?s=100

以上就是兩個頭像接口的信息,值得注意的是 Gravatar 后面的 s 分辨率參數可以隨意定義,而 QQ 不行,QQ 只有幾個有限的分辨率,比如 100, 200, 640,其它的數字會報 400 錯誤,所以 QQ 的 s 參數更像是一種清晰度,寬高還是通過 css 定義比較好。

2 步驟實現:

  • 獲取郵箱判斷是否為 qq 郵箱
  • 提取 qq 號
  • 將 valine 中的頭像地址改為上述接口地址

3 F12 查看源碼–發現 valine 中顯示頭像的相關代碼是:(關鍵標簽:vimg)

再以ctrl+F快速查找(關鍵詞:vimg),不負眾望,在 Valine.min.js 中找到

替換掉 src 即可,好了,思路清晰,下面開始實現:

4.3.1 下載 Valine.min.js

引入 Valine.min.js 到本地themes/next/source/js/src/Valine.min.js
修改引入本地的 Valine

在 themes/next/layout/_partials/footer.swig 中引入 <script src="./js/src/Valine.min.js"></script>

4.3.2 增加 QQ 頭像判別

注意你的 valine 的版本號,我這里是 v1.4.9

打開 Valine.min.js,ctrl+F 快速查找關鍵詞:

(j.cdn+(0,s.default)(t.get("mail"))+j.params)

稍加換行如圖所示:(換行按分號換行)

//var qq_img = m.cdn + a(e.get("mail")) + m.params; var qq_img = E.cdn+(0,s.default)(t.get("mail"))+E.params; if (t.get("mail").indexOf("@qq.com") >= 0) {var prefix = t.get("mail").replace(/@.*/, "");//前綴var pattern = /^\d+$/g; //正則表達式var result = prefix.match(pattern);//match 是匹配的意思if (result !== null) {qq_img = "//q1.qlogo.cn/g?b=qq&nk=" + prefix + "&s=100";} }

流程:

  • 默認還是 gravator 頭像接口
  • 判斷是否是 qq 郵箱,提取前綴 prefix
  • qq 頭像接口是 qq 號,如正則篩選剔除–重命名了帶英文的 qq 郵箱
  • 拼接頭像地址
  • 加入 src 顯示!

測試使用:

4.4 設置郵箱審核規則

在 themes/next/layout/_partials/footer.swig 中引入:

<script>// 自定義郵箱審核規則document.body.addEventListener('click', function(e) {if (e.target.classList.contains('vsubmit')) {const email = document.querySelector('input[type=email]');const nick = document.querySelector('input[name=nick]');const reg = /^[A-Za-z0-9\u4e00-\u9fa5]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$/;if (!email.value || !nick.value || !reg.test(email.value)) {const str = `<div class="valert text-center"><div class="vtext">請填寫正確的昵稱和郵箱!</div></div>`;const vmark = document.querySelector('.vmark');vmark.innerHTML = str;vmark.style.display = 'block';setTimeout(function() {vmark.style.display = 'none';vmark.innerHTML = '';}, 2500);}}}) </script>

效果如下:

4.5 點擊回復直接評論

在 themes/next/layout/_partials/footer.swig 中引入:

<script>// 點擊回復直接評論,官方版本點擊回復時都是跳回到頁面上方的評論框進行回復,評論框是固定不動的// 參考https://immmmm.com/valine-diy,用到jQuery$(document).ready(function(){//$('.vemoji-btn').text('😀');$("#vcomments").on('click', 'span.vat',function(){$(this).parent('div.vmeta').next("div.vcontent").after($("div.vwrap"));$('textarea#veditor').focus();})}) </script>

效果如下:

4.6 實現評論自定義背景

在 themes/next/layout/_partials/footer.swig 中引入:

<!-- 評論框美化 --> <style>#comments .veditor{min-height: 10rem;background-image: url(https://gitee.com/wugenqiang/PictureBed/raw/master/CS-Notes/20200425091751.png);background-size: contain;background-repeat: no-repeat;background-position: right;background-color: rgba(255,255,255,0);resize: none;} </style>

效果如下:

總結

以上是生活随笔為你收集整理的Hexo NexT 评论系统 Valine 的使用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 色哟哟国产精品 | 一本色道久久综合无码人妻 | 九一九色国产 | 亚洲成a人片777777久久 | 色综合区| 国产精品久久久久久免费观看 | 久草免费在线色站 | 三级视频网站 | 欧美五月婷婷 | 中文字幕人妻一区 | 国产淫视 | 久久婷婷久久 | 成人91网站| 操操日 | 成人欧美视频在线观看 | 亚洲第一国产 | av片一区二区三区 | 东京热一区二区三区四区 | 国产日韩免费视频 | 国产精品入口 | 91色网站 | 成人听书哪个软件好 | 欧美性视频一区二区三区 | 18禁肉肉无遮挡无码网站 | 国产精品久久久久久婷婷天堂 | 亚洲色图视频在线 | 涩涩视频网址 | 国产高潮自拍 | 日韩欧美国产成人精品免费 | 强伦人妻一区二区三区 | 男生女生搞黄色 | 欧美日韩国产一区二区在线观看 | 国产精品久久无码 | 日韩欧美偷拍 | 日本精品专区 | 日韩在线免费av | 2021av在线| 在线看你懂得 | 麻豆影音先锋 | 国产精品女人精品久久久天天 | 99资源在线 | 超碰个人在线 | 亚洲国产精品影院 | 久久性av | 性大片潘金莲裸体 | 国产精品尤物视频 | 裸体男女树林做爰 | 黑人中文字幕一区二区三区 | 伊人手机在线视频 | 欧美精品啪啪 | 国产男女猛烈无遮挡 | 婷婷深爱五月 | 五月少妇 | 日本大胆欧美人术艺术 | 精品一区二区三区四 | 大学生av | 国产精品久久久久久亚洲av | 草草在线观看视频 | 国产三级漂亮女教师 | 丰满大肥婆肥奶大屁股 | 日韩在线影视 | 亚洲欧洲自拍 | 日本jizzjizz | 欧美日韩美女 | 一区二区精品国产 | r级无码视频在线观看 | 91 在线观看| 国产精品第6页 | 国产在线中文 | 91麻豆成人精品国产免费网站 | 小色瓷导航 | 永久免费黄色 | 一级片在线免费观看视频 | 国产日韩欧美在线观看视频 | 国产精品99久久久久久一二区 | 成人免费精品视频 | 国产一区二区三区成人 | 欧美一区二区最爽乱淫视频免费看 | 在线国产视频一区 | 日本三级吃奶头添泬无码苍井空 | 免费欧美黄色片 | 欧美日韩成人免费 | 内射国产内射夫妻免费频道 | 日本免费一区二区三区 | 国产成人综合av | 欧美国产日韩一区二区 | 国产男女猛烈无遮挡a片漫画 | 天天影视色 | 国产欧美高清 | 性一交一乱一精一晶 | 体内射精一区二区 | 在线va视频 | 日韩午夜av | 久久久久久综合网 | 日本久久久网站 | 亚洲天堂高清 | 在线视频 亚洲 | 久久久香蕉 | 在线视频免费播放 |