本文最后更新于 2024-07-26,文章内容可能已经过时。

前言

前段时间为 halo 2.0 集成了 artalk 评论系统,作为依赖外部服务的评论系统,需要通过在插件中进行正确的配置才能使用,所以好多小伙伴使用的时候会有各种各样的配置错误导致 artalk 评论区无法使用,这篇文章我将平时从交流群以及 issues 上的一些问题进行汇总,手把手教你如何正确配置 artalk 插件!

一、必备条件

  • artalk 已部署完毕
  • 已安装 plugin-artalk 插件

artalk 部署方式请参考 ,这里我只记录下 docker-compose 方式部署:

docker-compose 方式

1、单独使用 docker-compose 方式

version: '3.8'
services:
  artalk:
    container_name: artalk
    image: artalk/artalk-go
    restart: unless-stopped
    ports:
      - 8080:23366
    volumes:
      - ./data:/data
    environment:
      - TZ=Asia/Shanghai
      - ATK_LOCALE=zh-CN
      - ATK_SITE_DEFAULT=Artalk 的博客
      - ATK_TRUSTED_DOMAINS=https://your_domain

2、如果 halo 是使用docker-compsoe 方式部署的,可在其后加入 artalk 容器,使其编排在一起

version: "3"

services:
  halo:
    image: halohub/halo:2.17.0-beta.1
    container_name: halo
    restart: on-failure:3
    depends_on:
      - meilisearch
    networks:
      - halo_network
    volumes:
      - ./halo2:/root/.halo2
    ports:
      - 8090:8090
    command:
      # 修改为自己已有的 MySQL 配置
      - --spring.r2dbc.url=r2dbc:pool:mysql://localhost:3306/halo
      - --spring.r2dbc.username=root
      - --spring.r2dbc.password=
      - --spring.sql.init.platform=mysql
      # 外部访问地址,请根据实际需要修改
      - --halo.external-url=http://localhost:8090/
      - --server.port=8090

  # 这部分为新增内容,创建一个 artalk 容器
  artalk:
    container_name: artalk
    image: artalk/artalk-go:2.8.7
    restart: on-failure:3
    ports:
      - 8080:23366
    volumes:
      - ./artalk:/data
    environment:
      - TZ=Asia/Shanghai
      - ATK_LOCALE=zh-CN
      - ATK_SITE_DEFAULT=默认站点名称
      - ATK_TRUSTED_DOMAINS=https://your_domain
networks:
    halo_network:

部署完毕之后,请执行以下命令创建管理员账户和密码:

docker exec -it artalk artalk admin

创建完毕管理员账户和密码后请访问 http://IPaddress:8080 或者 http://domain.com(配置了域名可通过域名访问),其中 8080 是你部署 artalk 时暴露的端口号,记得在服务器的防火墙上放行这个端口。

二、artalk 配置

设置可信域名

在 artalk 后台配置你 halo 的域名,记得在域名前加入请求协议(https或者 http)示例如下:

artalk-trust-domain.png

添加站点

site-add-tuya.webp

注意这里添加的站点信息中站点名称就是插件里需要填入的站点名称,注意必须要一致,否则无法使用 artalk。

add-msg-tuya.webp

三、配置 plugin-artalk 插件

最新版本的配置只需要配置站点名称和可信域名以及 artalk 部署地址即可正常使用。

1、基本配置

  • 站点名称:与添加站点信息时的站点名称保持一致!!!
  • artalk 添加的可信域名:保持与 artalk 后台配置的可信域名一致即可!!!
  • artalk 部署地址:自己部署的 artalk 服务地址

artalk-plugin-settings-tuya.webp

正确配置完毕上述的三个选项,artalk 就已经可以成功使用了!

2、明暗模式适配

明暗模式适配只说明 明暗切换属性选择器元素类名明暗切换 这两种模式:

  • 明暗切换属性选择器

其中第一种模式需要主题有类似 data-theme=dark 类似的属性来进行明暗切换,获取方法如下。

首先打开浏览器的控制台,切换到 Elements 选项,接着打开主题的暗色模式下,找到这样的变化属性,可多次切换观察:

data-thmem-get-tuya.webp

这里我列出一些常见主题的明暗属性切换选择器:

主题名称 暗色模式选择器
halo-theme-hao data-theme=dark
halo-theme-Joe3 data-mode=dark
walker data-theme=dracula 或者 data-color-scheme=dark
Butterfly data-theme=dark
Theme-Stack data-scheme=dark
  • 元素类名明暗切换

和上述明暗切换属性选择器查找的方式一样,不同的是这类主题切换明暗模式的方式是通过在 html 或者 body 标签上添加类名 dark 或者 light 来进行切换的,所以找到添加这个类名的元素和类名即可,比如某个主题是在 html 标签上添加类名 dark 来进行明暗属性切换的,则它的暗色模式类名填写格式为 html=dark。

主题名称 暗色模式类名
默认主题 html=dark
Sakura body=dark
halo-theme-dream2.0 html=night

3、是否开启评论区链接跳转中台

这个配置功能是为了防止评论区的评论链接跳转到一些危险站点,导致自己的站点被搜索引擎拉黑或者权重降低,为了有效避免此类情况,对于评论区的所有链接进行统一替换,跳转链接的处理是通过链接安全跳转中台这个插件完成的,所以想要开启此功能请先确保已有此插件!

效果如下:

link-repolace-rc-tuya.webp

链接安全跳转中台插件里边有好几种模版,这里只展示一种风格下的中台,通过中台处理后的链接便可以降级上述上的风险!

如果通过上述教程还存在一些特殊问题,可以在评论区或者讨论群里进行交流!