Hugo搭建博客(二) 评论模块

系列 - 博客搭建与维护

优点:

  • 基于 GitHub Issue 和 OAuth,评论内容存储在 GitHub 仓库中。
  • 可以很好地与博客或网站集成,尤其是如果网站源码也托管在 GitHub 上。可以定制外观样式。

缺点:

  • 需要 GitHub 账号登录。
  • 如果网站访问量很大,可能会导致 GitHub API 限制或者速度变慢。

优点:

  • 开源免费
  • 支持多种身份验证方式: 支持多种身份验证方式,包括 LeanCloud 用户系统、GitHub、微信等,灵活满足不同用户的需求。

缺点:

  • 配置相对繁琐
  • leancloud作为免费数据库有资源限制

官方教程完整的流程是这样的:

  1. 配置leancloud作为免费数据库
  2. 通过vercel作为服务器部署waline,需要在walinee中配置leancloud的环境变量。
  3. 在hugo中配置waline

详细教程

leancloud建议配置

环境变量名称 必填 备注
LEAN_ID LeanCloud 应用的 App ID
LEAN_KEY LeanCloud 应用的 App Key
LEAN_MASTER_KEY LeanCloud 应用的 Master Key 用于后台修改数据
LEAN_SERVER LeanCloud 服务地址,国内版用户需要配置此项
SITE_NAME 博客名称
SITE_URL 博客地址
LOGIN 当设置为 LOGIN=force 时会要求登录才能评论
SERVER_URL 设置 Waline Server 的地址,适合在自动生成的地址不正确时填写
环境变量名称 默认值 备注
DISABLE_USERAGENT false 是否隐藏评论者的 UA,默认为否
DISABLE_REGION false 是否隐藏评论者的归属地
DISABLE_AUTHOR_NOTIFY false 是否禁止新评论通知
AVATAR_PROXY https://avatar.75cdn.workers.dev 头像的代理地址,设置 false 关闭代理
GRAVATAR_STR https://seccdn.libravatar.org/avatar/{{mail md5}}
LEVELS 设置后会根据评论数为每个用户提供等级标签

hugo.toml:

toml

[params]
  [params.page]
    #  评论系统设置
    [params.page.comment]
      enable = true
      # Waline 评论系统设置
      [params.page.comment.waline]
        # 
        enable = true
        serverURL = "xxx"
        pageview = true
        comment = true
        emoji = ['https://cdn.jsdelivr.net/gh/walinejs/emojis/weibo']
        meta = ['nick', 'mail', 'link']
        # requiredMeta = []
        login = 'enable'
        # wordLimit = 0
        # pageSize = 10
        # imageUploader = false
        # highlighter = false
        # texRenderer = false

开源的有问题很难受。经过排查和查询相关资料后发现是waline的配置问题,通过上面的教程会在github账号下复制对应的项目,需要手动修改 vercel.json 中的配置。

package.json :

JSON

{
  "name": "template",
  "version": "0.0.1",
  "private": true,
  "dependencies": {
    "@waline/vercel": "1.31.12"
  }
}

重新部署 vercel redeploy

cloudflare 的 SSL/TLS 选择的是 灵活 ,需要将 cloudflare 的 SSL/TLS 设置为 完全(严格)。


相关内容