Please enable Javascript to view the contents

为博客添加 Gitalk 评论插件

 ·  ☕ 2 分钟

前言

博客 评论系统 技术选型:

  1. Disqus 国内无法访问。
  2. gitment很久没有维护、更新。
  3. 选用Gitalk 评论插件。

Gitalk 说明

Gitalk 的界面和功能:

image-20230206182144023
gitalk 使用 Github 帐号登录,界面干净整洁,且支持 MarkDown语法

正文

1. 获取 Token

Gitalk 需要一个 Github Application点击这里申请

填写下面参数:

image-20230208161904464

点击创建,获取 Client IDClient Secret 之后填入 博客配置 Gitalk 部分

image-20230208162254037

2. 博客配置

博客配置文件source/_data/next.yml,增加以下配置:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<!-- Gitalk start  -->
{% if site.gitalk.enable %}
<!-- Link Gitalk 的脚本  -->
<link rel="stylesheet" href="https://unpkg.com/gitalk/dist/gitalk.css">
<script src="https://unpkg.com/gitalk@latest/dist/gitalk.min.js"></script>

<div id="gitalk-container"></div>
    <script type="text/javascript">
    var gitalk = new Gitalk({

    // gitalk的主要参数
		clientID: `Github Application clientID`,
		clientSecret: `Github Application clientSecret`,
		repo: `存储评论 issue 的 Github 仓库名(一般设置为 GitHub Page 的仓库名)`,
		owner: 'Github 用户名',
		admin: ['Github 用户名'],
		id: '页面的唯一标识。gitalk会根据这个标识,自动创建issue的标签',
    
    });
    gitalk.render('gitalk-container');
</script>
{% endif %}
<!-- Gitalk end -->

主要参数配置如下:

1
2
3
4
5
6
clientID: `Github Application clientID`,
clientSecret: `Github Application clientSecret`,
repo: `Github 仓库名`,//存储评论 issue 的 Github 仓库名(建议直接用 GitHub Page 的仓库名)
owner: 'Github 用户名',
admin: ['Github 用户名'], //这个仓库的管理员,可以有多个,数组表示
id: 'window.location.pathname', //页面的唯一标识。gitalk 会根据这个标识,自动创建issue的标签,使用页面的相对路径作为标识

其他参数说明见官方文档 。比如,增加 全屏遮罩 的参数。

1
distractionFreeMode: true,

结语

遗留问题

Gitalk 需要点开每篇文章的页面,进行初始化issue创建。解决方案参考 自动初始化 Gitalk 和 Gitment 评论

分享

Hex
作者
Hex
CloudNative Developer

目录