• 简体中文
  • 评论系统 (Twikoo)

    ModernDuang 集成 Twikoo 作为评论系统。Twikoo 是一个简洁、安全、无后端(基于云函数)的静态站点评论系统,非常适合 Hexo 博客。

    为什么选择 Twikoo?

    • 免费部署 — 基于腾讯云 CloudBase 或其他云服务商的免费额度
    • 隐私友好 — 评论数据存储在你自己的云环境中
    • 反垃圾 — 内置 Akismet 反垃圾评论
    • 通知支持 — 支持邮件、微信等多种通知方式
    • 表情包 — 支持 OwO 表情包集成

    获取 Twikoo 环境 ID

    在配置 ModernDuang 之前,你需要先部署 Twikoo 并获取 envId。以下为腾讯云 CloudBase 部署步骤(详细教程请参考 Twikoo 官方文档):

    步骤一:开通 CloudBase

    1. 访问 腾讯云 CloudBase 并登录
    2. 创建一个云开发环境,选择按量计费(有免费额度)
    3. 记下你的环境 ID(格式类似 your-env-xxxxx

    步骤二:部署 Twikoo

    在 CloudBase 控制台中:

    1. 进入「云函数」→「函数服务」
    2. 新建云函数,选择「HTTP 函数」
    3. 函数名称任意(如 twikoo
    4. 运行环境选择 Nodejs 16.13(或更高版本)
    5. 在函数代码中部署 Twikoo 服务端代码(参考 Twikoo 文档)
    6. 部署完成后,获取云函数的触发路径作为 envId

    提示: Twikoo 也支持 Vercel、Netlify、Railway 等平台部署。部署完成后你会获得一个 URL,该 URL 即为你需要填入的 envId

    配置评论

    _config.modernduang.ymlcomments 字段下配置:

    comments:
      twikoo:
        envId: https://your-twikoo-envid  # 替换为你的 Twikoo 环境 ID(URL)
        region: ap-shanghai                # 腾讯云区域
    属性类型默认值必填描述
    twikoo.envIdstring''Twikoo 环境 ID(服务端 URL)
    twikoo.regionstring'ap-shanghai'腾讯云 CloudBase 区域

    区域选项

    region 为你部署 CloudBase 时选择的地域。常用值:

    区域值对应地域
    ap-shanghai上海
    ap-guangzhou广州
    ap-beijing北京
    ap-chengdu成都

    提示: 如果你不使用腾讯云(如使用 Vercel 部署),region 字段可忽略或留空。

    空 envId 时的行为

    如果 envId 为空字符串(默认),评论系统不会初始化,页面也不会加载 Twikoo 的 JavaScript SDK。这样在没有配置评论的情况下不会产生多余的网络请求。

    禁用单篇文章评论

    在某些文章中你可能不希望显示评论区(如关于页面、友情链接页面等)。在文章的 Front Matter 中设置 comment: false 即可:

    ---
    title: 关于我
    date: 2024-01-01
    comment: false
    ---
    
    这是一篇关于页面,不需要评论功能。

    同理,设置 comment: true 可以强制启用(当全局评论关闭时)。

    评论区域位置

    评论区域显示在文章内容末尾、上一篇/下一篇导航链接之前:

    ┌─────────────────────────┐
    │      文章正文内容         │
    │                         │
    │    (版权声明区域)        │
    ├─────────────────────────┤
    │     ✦ Twikoo 评论区 ✦    │
    ├─────────────────────────┤
    │  ← 上一篇 | 下一篇 →     │
    └─────────────────────────┘

    完整配置示例

    comments:
      twikoo:
        envId: https://service-xxxxx-1234567890.sh.apigw.tencentcs.com/release/
        region: ap-guangzhou

    更新 Twikoo 前端版本

    主题在 layout/partials/comments/twikoo.ejs 中硬编码了 Twikoo 的 CDN 版本号。如需更新到新版本:

    1. 打开 themes/modernduang/layout/partials/comments/twikoo.ejs
    2. 找到 <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/twikoo.all.min.js" ...>
    3. 将版本号 1.7.13 替换为最新版本号

    注意: 直接修改主题文件会在更新主题时丢失。如需持久化,建议将文件复制到站点的 layout/partials/comments/ 目录下再修改,Hexo 会自动优先使用站点目录中的模板。


    常见问题

    评论框不显示?

    1. 检查 envId 是否正确填写(确保是完整的 URL)
    2. 在浏览器开发者工具的 Network 面板中查看 Twikoo SDK 是否加载成功
    3. 确认文章 Front Matter 中没有设置 comment: false
    4. 检查 CloudBase 云函数是否正常运行

    如何管理评论?

    登录你的 CloudBase 控制台,在「数据库」中查看 twikoo 集合,可以手动管理评论内容。

    如何开启评论通知?

    参考 Twikoo 文档中的「邮件通知」和「微信通知」配置章节:https://twikoo.js.org/

    相关页面