Artalk Save

🌌 自托管评论系统 | Your self-hosted comment system

Project README

Artalk

Artalk

npm version npm downloads Docker Pulls Go Report Card CircleCI Codecov npm bundle size

🌌 Golang 自托管评论系统

English / 官方文档 / 最新版本


  • 🍃 轻量 (~30kB)
  • 👨‍👧‍👦 安全 (自托管)
  • 🐳 易上手 (防脱发)
  • 🍱 Golang 后端 (快速 / 跨平台)
  • 🌊 Vanilla × TypeScript × Vite (纯天然 / 无依赖)

特性

  • 侧 边 栏 :支持多站点集中化管理
  • 通知中心:红点的标记 / 提及列表
  • 身份验证:徽标自定义 / 密码验证
  • 评论审核:反垃圾检测 / 频率限制
  • 表情符号:插入表情包 / 快速导入
  • 邮件提醒:模版自定义 / 多管理员
  • 站点隔离:管理员分配 / 多个站点
  • 页面管理:标题可显示 / 快速跳转
  • 图片上传:上传到本地 / 多种图床
  • 多元推送:支持 钉钉 飞书 TG
  • 无限层级:可切换为平铺模式
  • 评论投票:赞同还是反对评论
  • 评论排序:按热度或时间排序
  • 评论置顶:重要消息置顶显示
  • 只看作者:仅显示作者的评论
  • 说说模式:仅自己可发布评论
  • 异步处理:发送评论无需等待
  • 滚动加载:评论内容分页处置
  • 自动保存:用户输入防丢功能
  • 自动填充:用户链接自动填充
  • 实时预览:评论内容实时预览
  • 夜间模式:防止眼部疾病伤害
  • 评论折叠:这个不打算给你康
  • 数据备份:防止评论数据丢失
  • 数据迁移:快速切换评论系统
  • Markdown:默认支持 MD 语法
  • 支持 Latex:提供集成 Katex 插件
  • 使用 Vite:属于开发者的极致体验

更多内容请查看:介绍文档

安装

参考:部署文档

npm install artalk
import Artalk from 'artalk'

Artalk.init({
  el:      '#Comments',
  site:    'Artalk 的博客',
  server:  'https://artalk.example.com',
  pageKey: '/2018/10/02/hello-world.html'
})

Docker

docker run -d \
  --name artalk \
  -p 8080:23366 \
  -v $(pwd)/data:/data \
  --restart=always \
  artalk/artalk-go

Docker Compose

vim docker-compose.yaml
version: "3.5"
services:
  artalk:
    container_name: artalk
    image: artalk/artalk-go
    restart: always
    ports:
      - 8080:23366
    volumes:
      - ./data:/data
docker-compose up -d

Development

see CONTRIBUTING.md

Contributors

Supporters

Stargazers repo roster for @ArtalkJS/Artalk

Repobeats Analytics

Alt

特别致谢

感谢社区提供的帮助与反馈,若有好的建议与意见欢迎前往 ISSUES 随时告知。

TODOs

  • Golang 后端
  • 多数据库支持
    • SQLite
    • MySQL
    • Postgres
    • SQLServer
  • 多缓存数据库支持
    • In-memory (内建缓存)
    • Redis
    • Memcache
  • 多站点支持
  • 评论获取分页
  • 评论点赞投票
  • 浏览量统计
  • 评论分页加载
  • 评论置顶 / 精华
  • 评论排序 (热度 / 时间)
  • 通知中心
    • 提及
    • 全部
    • 我的
    • 待审
  • 管理员控制台
    • 评论
    • 页面
    • 站点
    • 用户
    • 设置 (GUI)
  • 数据导入 (Artransfer)
  • 数据导出
  • 邮件多种发送方式
    • SMTP
    • 阿里云邮件
    • 系统调用 sendmail
  • 邮件多模板自定义
  • 邮件异步队列发送
    • 队列持久化
  • 用户已读标记
  • 验证码
  • 反垃圾
  • 评论通知管理员 (notify)
    • Telegram Bot
    • 飞书 WebHook Bot
    • 钉钉
    • Bark
    • Slack
    • LINE
    • 自定义 HTTP 回调
  • 命令行管理
  • 博客邮件订阅
  • 用户鉴权机制
  • 跨域非法请求阻止
  • 全局验证码操作次数限制
  • JWT 登录状态验证
  • 时区自定义
  • 只看作者功能
  • 图片上传
  • 图片上传到图床 (upgit)
  • 图片管理
  • 附件上传 / 管理
  • 表情包统一管理
    • 导入表情包
    • 表情包图片地址控制
  • AT 提及 (@)
  • 评论话题 (#)
  • 评论标签分类系统
  • 主题样式更换
  • 规范化 API
  • 扩展中心
  • 开放用户注册
  • 第三方登录接入
  • 多语言 / 国际化 (i18n)
  • 一键升级

Stargazers over time

Stargazers over time

License

MIT

FOSSA Status

FOSSA Status

Open Source Agenda is not affiliated with "Artalk" Project. README Source: ArtalkJS/Artalk

Open Source Agenda Badge

Open Source Agenda Rating