当前位置: 首页 > ds >正文

HOW - 从0到1搭建自己的博客站点(四)

文章目录

  • 一、Giscus 是什么?
  • 二、它是如何工作的?(原理)
  • 三、配置步骤详解
    • 第一步:准备 GitHub 仓库
    • 第二步:前往 Giscus 官网配置
  • 四、将 Giscus 嵌入博客文章详情页
  • 动态主题切换(可选)
  • 五、权限说明和安全性
  • 六、结合 Next.js 的实现建议
    • 封装组件示例(React)
    • Q&A:Giscus 要放在文章详情页组件的哪里?
    • Q&A:不同详情页如何区分评论?
    • Q&A: 是否可以换 slug、重命名 URL?
  • 总结

博客站点的评论系统接入,推荐 giscus。

下面我将详细讲解接入 Giscus 评论系统的原理与步骤,包括:

  • Giscus 是什么,它如何工作?
  • GitHub 如何保存评论?
  • 如何配置 Giscus?
  • 如何在你的博客页面中嵌入 Giscus?
  • 安全性与限制说明

一、Giscus 是什么?

Giscus 是一个基于 GitHub Discussions 的评论系统。它允许你:

  • 博客文章的评论 存储在 GitHub 的 Discussions 中
  • 自动根据文章 URL 创建讨论线程
  • 嵌入到你的网站里展示评论框,读者可以用 GitHub 登录后发表评论

优点:

优点说明
免费依赖 GitHub,自身不收费
无后台评论直接存在 GitHub,不需要你搭建数据库
登录安全用户通过 GitHub 登录评论,防止垃圾评论
开源可信完全开源,安全、稳定
支持 Markdown评论支持富文本 & 代码块

二、它是如何工作的?(原理)

  1. 你将 Giscus 嵌入到博客页面

  2. Giscus 通过 GitHub API:

    • 查询是否已有与文章 URL 对应的 Discussion
    • 如果没有,它会自动创建一个新的 Discussion(只在首次访问时)
  3. 所有评论保存在 GitHub Discussions 中(你自己的仓库)

  4. 后续每次访问,该页面会拉取并显示对应讨论帖子的评论内容

所以它依赖 GitHub 的 OAuth 登录机制来确保用户身份,并且使用 Discussions 作为评论数据库。


三、配置步骤详解

第一步:准备 GitHub 仓库

  1. 登录 GitHub,创建一个公开仓库(例如:my-blog-comments

  2. 打开该仓库的 Discussions 功能:

    • 进入仓库 → SettingsFeatures → 勾选 Discussions

第二步:前往 Giscus 官网配置

进入:https://giscus.app/

填写以下信息:

项目示例
Repositoryyour-username/my-blog-comments
Repository IDGiscus 会自动帮你填写
Discussion Category通常选 General 或创建一个新分类
Mappingpathname(常用)—— 每个页面根据路径唯一对应一条讨论
Reaction是否允许点赞
Input positionbottomtop
ThemeLight / Dark / Auto
Languagezh-CN(可选)

勾选完成后,Giscus 会为你生成一段 <script> 脚本代码

四、将 Giscus 嵌入博客文章详情页

在你博客的文章详情页组件中加入:

<div id="giscus-container"></div>
<scriptsrc="https://giscus.app/client.js"data-repo="your-username/my-blog-comments"data-repo-id="你的repo ID"data-category="G
http://www.xdnf.cn/news/9356.html

相关文章:

  • 10.2sql
  • python-正则表达式
  • 与 PyCharm 官方沟通解决开发环境问题记录(进展:官方已推出2个新的修复版本)
  • C语言-文件
  • IEEE Journal on Selected Areas in Communications 2025年论文整理2(中英文摘要)
  • IPv4地址的主要配置项介绍
  • 14. LayUI与Bootstrap框架使用
  • JS手写代码篇---手写promise.all
  • Python条件语句完全指南:从if-else到模式匹配
  • 鸿蒙OSUniApp 实现带搜索功能的下拉菜单#三方框架 #Uniapp
  • 实验设计与分析(第6版,Montgomery)第3章单因子实验:方差分析3.11思考题3.1 R语言解题
  • PIO 也有并发喔,巧用SIDE-SET
  • 解决Qt 打包的软件缺少dll问题
  • 《计算机组成原理》第 4 章 - 存储器​
  • 零基础设计模式——结构型模式 - 装饰器模式
  • 国芯思辰| 同步降压转换器CN2020应用于智能电视,替换LMR33620
  • 在ubuntu手动分区时,730GB的总空间,建议划分多少给根目录
  • AI应用 Markdown 渲染对比与原生实现方案
  • 书籍品读:《逆水行舟话幸福》(陈州)
  • 【Python】2. 基础语法(2)
  • 【运维_日常报错解决方案_docker系列】一、docker系统不起来
  • 从自动化到智能化:制造业数字化转型的五个关键跃迁
  • Vue-03 (调试工具Vue Devtools )
  • delphi xe 12.3下解决错误 ld.exe: unrecognized option ‘--no-rosegment‘
  • 试验台铁地板:技术创新与品质保障
  • 【观成科技】Ymir勒索软件组织窃密木马RustyStealer加密通信分析
  • STM32的HAL编码流程总结(上部)
  • 大模型——MCP 深度解析
  • vue2使用element中多选组件el-checkbox-group,数据与UI更新不同步
  • 【React】jsx 从声明式语法变成命令式语法