记忆一隅

为Gridea主题添加Twikoo评论支持

2021-02-09 · 3 min read
Gridea

Add Twikoo comment support for Gridea theme

前言

自从Leancloud开始对免费实例添加了唤醒限制之后,之前广受欢迎的Valine评论就变得不香了。在leanclou有限制的几个月后,多个Valine的替代方案出现了,以Twikoo和Waline为代表。之前因为不想折腾一直没有跟进,直到我重装了我的VPS并把博客迁移到VPS上后,不想重新配置Valine唤醒的我终于迈出了这一步,决定更换评论系统。
对比waline和Twikoo,Twikoo的部署配置更加方便,所有配置参数均可以使用控制面板进行配置且服务位于国内,访问速度快。尤其是部署配置方便让逐渐变懒的我选择了它。

主题配置

打开主题源文件夹,在template文件夹中找到post.ejs文件,打开,并在最后添加:

<% if(site.customConfig.openTwikoo) { %>
<script src="https://cdn.jsdelivr.net/npm/twikoo@1.2.0/dist/twikoo.all.min.js"></script>
<script>
    twikoo.init({
      envId: '<%= site.customConfig.envId %>',
      el: '#tcomment',
      // region: 'ap-guangzhou', // 环境地域,默认为 ap-shanghai,如果您的环境地域不是上海,需传此参数
      // path: 'window.location.pathname', // 用于区分不同文章的自定义 js 路径,如果您的文章路径不是 location.pathname,需传此参数
    })
</script>
<% } %>

在footer之前添加:

<% if(site.customConfig.openTwikoo) { %>
        <div id="tcomment"></div>
<% } %>

找到config.json文件,添加以下内容:

{
        "name": "openTwikoo",
        "label": "是否开启",
        "group": "Twikoo评论",
        "value": false,
        "type": "switch",
        "note": "设置文档: https://twikoo.js.org/"
},
{
        "name": "envId",
        "label": "envID",
        "group": "Twikoo评论",
        "value": "",
        "type": "input",
        "note": "云函数环境ID"
}

将以上配置保存,主题相关的配置就配置完成了。

Twikoo云函数部署相关

相关的部署方法Twikoo的文档比较详细,请参照官方文档部署:Twikoo中文文档-快速上手

后续配置

在部署完云函数后,在Gridea客户端->主题->自定义配置->Twikoo评论,打开Twikoo评论开关,并填入云函数的环境变量id,环境变量id可以在云函数配置中找到。保存配置后点击同步,同步后进入自己博客的文章中查看是否已经启用。

点击齿轮标示,进行进一步的详细配置。第一次登录需要输入云函数配置时保存的私钥,并设置密码,后续登录配置可以直接使用密码进行配置。配置完成后就可以使用了。Twikoo还支持从Valine导入评论数据,只需要在每天的中午12点前登录Leancloud后将文件导出后在Twikoo控制面板导入,就可以无缝迁移评论数据。