云胡不喜

Hugo 博客添加Twikoo评论

因为Hugo默认的评论系统是Disqus,由于众所周知的原因,Disqus在国内不可用,对比了几款静态博客评论系统,最终选择Twikoo。

部署 Twikoo 评论系统

1、申请 MongoDB 账号

访问MongoDB 官网注册一个免费账号

2、创建免费 MongoDB 数据库

区域推荐选择 AWS / N. Virginia (us-east-1),在 Clusters 页面点击 CONNECT,按步骤设置允许所有 IP 地址的连接,创建数据库用户,并记录数据库连接URL,URL中的 修改为数据库密码。

dfb1c477a6ad05af5b1b85ce5eb94acc.png

3、申请 Vercel 账号(直接使用github账号登录即可)

点击以下按钮将 Twikoo 一键部署到 Vercel

4、添加环境变量

进入 Settings - Environment Variables,添加环境变量 MONGODB_URI,值为第 3 步的数据库连接字符串

5、重新部署

设置好环境变量后,重新部署,进入 Deployments , 然后在任意一项后面点击更多(三个点) , 然后点击Redeploy , 最后点击下面的Redeploy,进入 Overview,点击 Domains 下方的链接,如果环境配置正确,可以看到 “Twikoo 云函数运行正常” 的提示,即部署成功。

添加 twikoo 到博客

在项目目录下自建layout不用改动主题源码,可以实现同名文件覆盖(如:下面的single.html),注意一定要添加在自己博客站点下的layouts文件夹,不要添加到主题里的layouts文件夹,否则更新主题时会被覆盖。

创建评论页

  • 新建 comment.html 路径( layouts/partials/comments.html),内容如下:
<!-- Twikoo -->
<div>
    <div class="pagination__title">
        <span class="pagination__title-h" style="font-size: 20px;">💬评论</span>
        <hr />
    </div>
    <div id="tcomment"></div>
    <script src="https://cdn.staticfile.org/twikoo/1.6.15/twikoo.all.min.js"></script>
    <script>
        twikoo.init({
            envId: "", 
            el: "#tcomment",
            lang: 'zh-CN',
            region: 'ap-shanghai',  //区域,可以不填,默认是ap-shanghai
            path: window.TWIKOO_MAGIC_PATH||window.location.pathname,
        });
    </script>
</div>

envId 即是上面的 Vercel Domains 需要包含 https://,例如:https://XXX.vercel.app

添加评论模块到文章页

此处以ink-free主题为例,只需要覆写single.html即可 (layouts/_default/single.html)。

  • 添加以下内容:
/**其他原有内容已省略**/
  {{- if (.Param "comments") }}
	  {{- partial "comments.html" . }}
  {{- end }}

文章头部添加参数 comments: true 即启用评论,comments: false 不启用评论。

本站文章如无特殊说明,均为原创,转载请注明出处,基于 CC BY-SA 4.0 协议授权