Valine评论配置

背景

由于是静态博客页面,如果没有评论,则无法与用户进行直接的交互,因此百度了诸多方法,建议使用valine、leancloud搭建一个评论系统,同时使用valine-admin搭建评论管理后台,便于游客评论时及时的收到邮件通知信息,以及相关用户的评论。

Valine项目地址:https://valine.js.org

Valine-admin项目地址:https://github.com/DesertsP/Valine-Admin

由于leancloud在国内使用的时候一定要实名制,因此此处采用的是leancloud国际版,二者操作都是一样的

Leancloud网址(国内版):https://leancloud.cn/

Leancloud网址(国际版):https://leancloud.app/

butterfly本身也集成了第三方在线聊天系统(目前仅尝试了chatra和daovoice),因此在此处也做记录,两者注册目前还不需要过多的隐私信息。其中daovoice支持绑定微信,可能会接收消息时更加方便一些,但我没有做过尝试。

chatra:https://app.chatra.io/

daovoice:http://daovoice.io/

搭建记录

Valine环境配置

  1. 打开Valine国际版https://leancloud.app/,然后注册账户,并且填报手机号。

  2. 点击【存储】–>【结构化数据】–>【创建Class】,然后创建一个名为【Comment】的Class,【Comment】的开放权限可以根据自己的需要设定。

    image-20200811210427839

  3. 注册完毕后,进入Valine控制面板,只填写下图中红色框中的内容

    img

  4. 点击刚刚创建的应用右上角的【设置】按钮,进入应用详情页。然后点击【设置】–>【应用keys】,找到【appid】和【appkey】

    img

  5. 打开【设置】中的【安全中心】,将要添加的comment功能的网站域名填写进去(非默认端口则需要将端口一并写上)

    image-20200811205507203

  6. 打开hexo butterfly主题的配置文件,修改其中的配置项,修改完成后,就能够展示出评论框了

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    # 添加use配置项为 - Valine
    comments:
    use:
    - Valine

    # 找到valine,将第3步获得的appid和appkey填入下方
    valine:
    appId: 你的appid
    appKey: 你的appkey

    # 这两处的其它配置项就看个人需要来改,都有注释

chatra环境搭建

  1. 打开https://app.chatra.io直接注册,注册完以后,点击左侧【chatwidget】,然后找到下图【chatraid】

    img

  2. 打开hexo butterfly的配置文件

    1
    2
    3
    4
    5
    6
    7
    # 将chat_btn配置项设置为true,这个其实是将图标与右侧的图标进行样式统一化,也可不设置
    chat_btn: true

    # 设置chatra为true,同时将第一步中的Chatraid填写到id处
    chatra:
    enable: true
    id: 12345678

daovoice环境搭建

  1. 打开daovoice网站,直接注册,注册完以后点击应用管理,创建一个应用即可,然后按照下图找到聊天的ID

    img

  2. 打开hexo butterfly文件配置

    1
    2
    3
    4
    5
    6
    7
    # 将chat_btn配置项设置为true,这个其实是将图标与右侧的图标进行样式统一化,也可不设置
    chat_btn: true

    # 设置enable为true,同时将第一步中的ID值填写到id处
    daovoice:
    enable: true
    id: 12345678
  3. 配置完进入前台,鼠标向下滚动,就能看到右侧的Chatroom按钮了

    image-20200811212618154

Valine-admin环境搭建

  1. Valine-admin是利用leancloud的云引擎二次开发的,首先将github上的Valine-admin代码库fork到自己的账户下:https://github.com/2467827751/Valine-Admin

  2. 打开leancloud项目中使用评论的应用,点击【设置】进入详情页,然后依次点击左侧的云引擎->部署->项目部署->Git部署->配置Git。然后Git的地址填写自己fork到github下的项目链接。然后再次点击Git部署->部署即可。(图片来源于https://www.cnblogs.com/antmoe/)

  3. LeanCloud给予一个免费的二级域名,需自己填写【web主机域名】(此处就用来做管理评论的后台)。当然也可以绑定自己的(我没成功)

  4. 然后点击【云引擎】–>【设置】–>设置环境变量

    添加的变量信息如下:

    变量名 说明 示例
    SITE_NAME [必填]网站名称 小康博客
    SITE_URL [必填]网站地址,最后不要加/ https://www.antmoe.com
    SMTP_USER [必填]SMTP 服务用户名,一般为邮箱地址。 admin@antmoe.com
    SMTP_PASS [必填]SMTP 密码,一般为授权码,而不是邮箱的登陆密码,请自行查询对应邮件服务商的获取方式 123
    SMTP_SERVICE [新版支持]邮件服务提供商,内置支持 163
    SENDER_NAME [必填]寄件人名称。 小康博客
    TO_EMAIL [可选]博主通知收件地址,默认使用SMTP_USER admin@antmoe.com
    BLOGGER_EMAIL [可选]如果设置则作为后台管理员邮箱(/sign-up页面设置),不设置则默认以SMTP_USER admin@antmoe.com
    TEMPLATE_NAME [必填]设置提醒邮件的主题 custom2
    AKISMET_KEY [可选]Akismet Key 用于垃圾评论检测,设为MANUAL_REVIEW开启人工审核,留空不使用反垃圾 xxxx
    ADMIN_URL [可选]后台管理地址 https://xxxx.leanapp.cn/
    COMMENT [可选]评论div的ID名 #post-comment
    SCKEY [可选]server酱的SCKEY xxx
    AKISMET_KEY [可选]Akismet Key 用于垃圾评论检测 xxxxxxxxxxxx
    QMSG_KEY [可选]Qmsg酱的密钥 xxxxx
    QQ [可选]Qmsg酱发送的qq,不填为全部。支持多个,用英文逗号分隔即可 5E+08
    DISABLE_EMAIL [可选],填写则代表停止发送邮件 TRUE
    QQ_SHAKE [可选],填写代表发送QQ戳一戳 TRUE

    配置自定义服务器:

    变量名 说明 示例
    SMTP_HOST 邮件服务提供商 SMTP 地址,此项需要自行查询或询问其服务商。 smtp.ym.163.com
    SMTP_PORT 邮件服务提供商 SMTP 端口, 此项需要自行查询或询问其服务商。 994
    SMTP_SECURE 是否启用加密, 默认为 true,一般不需要设置,如有特殊请自行配置。 此项需要自行查询或询问其服务商。 TRUE

    我自己的配置项(缺少一个ADMIN_URL也要配置):

    img

  5. 添加完成后,点击保存,并且重新部署

    img

  6. 添加完成后,设置后台登录的账号密码,点击【存储】–>【结构化数据】–>【_User】,选择【添加行】。填写 email 、 password 、 username ,这三个字段即可, 使用 email 作为账号登陆即可。(为了安全考虑,此 email 必须为配置中的 SMTP_USER 或 TO_EMAIL , 否则不允许登录)

    image

  7. 密码设置完成后,打开第三步注册的免费域名,输入第6步设置的邮箱和账户,看是否可以进入

    image-20200811215308046

  8. 由于使用的是免费的(白嫖系列),所以leancloud似乎有个啥自动休眠的设定(有资金的可升标准版),所以此处还需利用定时器设置自动唤醒,首先就是需要添加变量【ADMIN_URL】,设置为【第三步配置的二级域名】。具体参考【第3步】

  9. 然后设置定时任务,依次点击【云引擎】–>【定时任务】–【添加定时任务】

    self-wake:表示自动唤醒

    resend-mail:表示重发邮件,它会在设定的时间后检查此前24小时内未发送成功的邮件,并补发这些邮件

    image

  10. (选读)发送邮件的模板有两种:default、rainbow,看自己需要在第三步的变量中设置,搞完以后到前台评论一下试试,应该可以很快收到通知邮件

文献参考

huanhao:https://www.cnblogs.com/huanhao/p/emailvaline.html

antmoe:https://www.cnblogs.com/antmoe/p/12904118.html

Deserts:https://deserts.io/valine-admin-document/

感谢上述博主的细心总结,以及Valine-admin、Valine和Leancloud开发者的无私奉献.