avatar Nihil

Nichts Hsu

  • 首页
  • 子域
  • 分类
  • 标签
  • 归档
  • 关于
首页 使用 Valine 替换 Chirpy 主题中的 Disqus 评论系统
文章

使用 Valine 替换 Chirpy 主题中的 Disqus 评论系统

发表于 2021/03/21 更新于 2022/12/30
作者 Nichts Hsu
3 分钟阅读
使用 Valine 替换 Chirpy 主题中的 Disqus 评论系统
使用 Valine 替换 Chirpy 主题中的 Disqus 评论系统

由于 Chirpy 版本更替,该帖子内容已失去时效性,请谨慎参考

前置工作

根据 Valine 官方教程注册 LeanCloud 以获取 APP ID 和 APP Key。注:注册国内版 LeanCloud 需要绑定已备案的域名,而注册国际版 LeanCloud 则不需要。

如果是 fork 主题搭建博客,修改对应文件即可。如果是使用 theme 或者 remote_theme,则需要下载对应的文件放在相应目录后再修改。

配置 _config.yml

找到 disqus 数据段并删除:

1
2
3
disqus:
  comments: false
  shortname: ''

增加 valine 的数据段:

1
2
3
4
5
6
valine:
  comments: true            # 是否启用valine 
  leancloud_appid:          # 填入你的APP ID 
  leancloud_appkey:         # 填入你的APP Key 
  placeholder: Go go go!    # 空白评论栏的占位符 
  avatar: mp                # 默认头像,参考 https://valine.js.org/avatar.html 

配置 valine.html

在 _includes 目录下创建 valine.html 填入以下内容,可删除 _includes/disqus.html。

1
2
3
4
5
6
7
8
9
10
11
<div id="vcomments"></div>
<script>
    new Valine({
        el: '#vcomments',
        appId: '{{ site.valine.leancloud_appid }}',
        appKey: '{{ site.valine.leancloud_appkey }}',
        placeholder:'{{ site.valine.placeholder }}',
        avatar: '{{ site.valine.avatar }}',
        enableQQ: true    // 当在昵称栏填入QQ号时自动获取QQ昵称和QQ头像,不需要该功能请删除。
    });
</script>

更多参数配置可以参考 Valine官方文档。

配置 head.html

打开 _includes/head.html,在 {% seo title=false %} 这一行前面,插入下面的代码:

1
2
3
4
5
{% if page.layout == 'post' %}
  {% if site.valine.comments and page.comments %}
    <script src="//unpkg.com/valine/dist/Valine.min.js"></script>
  {% endif %}
{% endif %}

修改 layout

打开 _layouts/page.html,找到 disqus 的相关行:

1
2
3
4
5
6
7
8
9
10
11
{% if site.disqus.comments and page.comments %}
<div class="row">
  <div class="col-12 col-lg-11 col-xl-8">
    <div class="pl-1 pr-1 pl-sm-2 pr-sm-2 pl-md-4 pr-md-4">

    {% include disqus.html %}

    </div> <!-- .pl-1 pr-1 -->
  </div> <!-- .col-12 -->
</div> <!-- .row -->
{% endif %}

将其修改为:

1
2
3
4
5
6
7
8
9
10
11
{% if site.valine.comments and page.comments %}
<div class="row">
  <div class="col-12 col-lg-11 col-xl-8">
    <div class="pl-1 pr-1 pl-sm-2 pr-sm-2 pl-md-4 pr-md-4">

      {% include valine.html %}

    </div> <!-- .pl-1 pr-1 -->
  </div> <!-- .col-12 -->
</div> <!-- .row -->
{% endif %}

打开 _layouts/post.html,找到 disqus 的相关行:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<div class="row">
  <div class="col-12 col-lg-11 col-xl-8">
    <div id="post-extend-wrapper" class="pl-1 pr-1 pl-sm-2 pr-sm-2 pl-md-4 pr-md-4">

    {% include related-posts.html %}

    {% include post-nav.html %}

    {% if site.disqus.comments and page.comments %}
      {% include disqus.html %}
    {% endif %}

    </div> <!-- #post-extend-wrapper -->

  </div> <!-- .col-* -->

</div> <!-- .row -->

将其修改为:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<div class="row">
  <div class="col-12 col-lg-11 col-xl-8">
    <div id="post-extend-wrapper" class="pl-1 pr-1 pl-sm-2 pr-sm-2 pl-md-4 pr-md-4">

    {% include related-posts.html %}

    {% include post-nav.html %}

    {% if site.valine.comments and page.comments %}
      {% include valine.html %}
    {% endif %}

    </div> <!-- #post-extend-wrapper -->

  </div> <!-- .col-* -->

</div> <!-- .row -->

大功告成

快使用 bundle exec jekyll serve 来测试你的 Valine 评论系统吧!

想要管理评论,可以进入 LeanCloud 应用控制台,打开存储→结构化数据→Comment。

教程, 网站
jekyll 教程 网站 valine
本文由作者按照 CC BY 4.0 进行授权
分享

最近更新

  • 『I Wanna』 Best Bye To 2016
  • [译] Rust 中的内联
  • [Rust] 幽灵索引类型与匿名结构体
  • [C++] 深入了解左值与右值
  • Android.bp 中启用 openmp
外部链接
  • 996.icu
  •  此博客的 Github 仓库
  •  Olimi 的个人博客

文章内容

相关文章

2022/09/27

为使用 Rouge 的 Jekyll 主题添加高亮指定行的功能

前言 实际上,这个功能在 Jekyll 的 Issue #8621 上早有讨论,但是时至今日这个功能迟迟没有进展。 相关的讨论者提出了一些简易的 Ruby 脚本,但是这些脚本功能并不完整,例如不支持行号。但是奈何本人又不会 Ruby,只能考虑另辟蹊径,通过 JS 来实现行高亮。 二月时写了一个效果较差的版本,近日重新写了一个更好一点的版本,因此重写本帖。 Ruby 脚本在生成站点时静...

2022/11/01

在高版本系统上为 Qt6 生成 AppImage

前言 目前,大部分的 AppImage 的教程与工具都建议你在最低所支持的系统上进行编译打包,这是由于 Linux 系统的兼容性,在旧版本系统打包的软件可以正常在新版本系统中运行,反过来则不行。 但是这一点对于 Qt 用户尤其是 Qt6 用户而言很不友好:一方面,在旧版本的 Linux 系统上很难安装高版本的 Qt,另一方面,过于老旧的 GCC 不支持大量的 C++ 新特性,需要对代码进...

2022/01/11

Git 从基础到进阶

前言 Git 是什么 想象这么一个场景,你和你的几个同事一起开发一个应用,假设同事 A 修改了代码 1,同事 B 修改了代码 2,你自己修改了代码 3,要如何将你们的修改安全、准确地同步到所有人的电脑上?如果有一天,应用突然运行不了了,你尝试 debug 无果,想要回退到上一次能够正常运行的代码版本,你要如何操作? 这就是为什么我们需要版本控制工具。它们对代码的提交和修改进行纪录,方便...

『I Wanna』 Best Bye To 2016

Markdown 一些奇技淫巧

© 2024 Nichts Hsu. 保留部分权利。

本站采用 Jekyll 主题 Chirpy

热门标签

编程语言 教程 rust c++ android c++20 usb 翻译 linux qt

发现新版本的内容。