Quiet
  • 主页
  • 归档
  • 分类
  • 标签
  • 链接
  • 关于我

bajiu

  • 主页
  • 归档
  • 分类
  • 标签
  • 链接
  • 关于我
Quiet主题

在Hexo博客中配置Gitalk插件实现评论功能

bajiu
青年大学习

2024-11-12 14:24:00

今天跟朋友说到写博客内容的时候,看了一下百度后台统计确实是有访问量和有被搜索的,本来自己写着玩儿,现在觉得既然真的是对其他人有帮助话,再想就把之前关闭的一些功能再加回来,下面主要介绍如何使用 Gitalk 插件为 Hexo 博客添加评论功能。Gitalk 基于 GitHub Issues,实现博客的评论管理。

使用

1.安装hexo插件

yarn add hexo-gitalk

2.注册GitHub OAuth应用

由于 Gitalk 依赖 GitHub 的 OAuth 授权,需先注册一个应用。

  • 打开 GitHub OAuth 注册页面
    访问 GitHub Developer Settings 并点击 “New OAuth App”。

  • 填写注册信息
    Application name: 自定义应用名称,例如 嘿嘿嘿。
    Homepage URL: 你的博客网址,例如 https://summer889.com/。
    Authorization callback URL: 添加 /callback,例如 https://summer889.com/。

完成后,GitHub 会提供 Client ID 和 Client Secret,稍后会用到。

认证

3.配置Hexo Gitalk插件

在 Hexo 的 _config.yml 文件中,添加以下配置:

gitalk:
  enable: true
  clientID: 'Client ID'
  clientSecret: 'Client Secret'
  repo: 'GitHub 仓库名'  # 用于存储评论
  owner: ' GitHub 用户名'  # 仓库的拥有者
  admin:                       # 管理员 GitHub 用户名列表
    - 'GitHub 用户名'
  distractionFreeMode: false   # 是否启用干净模式(隐藏评论框输入按钮)

4.将Gitalk添加到模板中

<% if (theme.gitalk.enable) { %>
  <div id="gitalk-container"></div>
  <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/gitalk/dist/gitalk.css">
  <script src="https://cdn.jsdelivr.net/npm/gitalk/dist/gitalk.min.js"></script>
  <script>
    var gitalk = new Gitalk({
      clientID: '<%= theme.gitalk.clientID %>',
      clientSecret: '<%= theme.gitalk.clientSecret %>',
      repo: '<%= theme.gitalk.repo %>',
      owner: '<%= theme.gitalk.owner %>',
      admin: <%= JSON.stringify(theme.gitalk.admin) %>,
      id: '<%= page.gitalk_id || page.path %>', // 评论唯一标识
      distractionFreeMode: <%= theme.gitalk.distractionFreeMode %>
    });
    gitalk.render('gitalk-container');
  </script>
<% } %>

然后就可以水灵灵的评论了

评论例子

常见异常问题

配置的时候因为博客创建太久了,导致忘了很多事物配置留了很多坑,记录一下

  • Validation Failed : 表示创建标签 (Label) 的时候出现问题, GitHub 标签的名称有以下限制

    • 标签长度不得超过 50 个字符。
    • 标签名称不能包含某些特殊字符,例如斜杠 /。
  • ERROR:NOT FOUND : repo 直接填仓库名就好,末尾带下划线 /

下一篇

HTTP/3详解

©2024 By bajiu.