discuss
一款简单,安全,轻量,免费的评论系统 | A simple, safe, free comment system
简介
Discuss是一款简单,安全,免费的评论系统,仅提供基础的评论功能,并没有过多的功能
这可以使得 Discuss 可以融合进其它项目,甚至可以方便而再此基础上进行二次开发
举例可以二次开发添加如下新功能,甚至其它更多功能
- 新增Markdown、代码块高亮等等
- 新增图片上传
- 新增数学公式
- 新增点赞功能
- 新增 IP 属地
- 新增显示用户操作系统、浏览器等
不管你的网站使用的是什么配色 Discuss 都可以轻松适应,如: 浅色/深色模式切换,Discuss 会自适应
个性
- 多数据库支持(5 种)
- 深色模式 (自动适配深色模式)
- 支持自定义
博主
置顶
表示文字 - 支持自定义评论框
placeholder
(占位符) - 支持限制评论字数 (避免大量文字信息写入数据库)
- 支持自定义邮件模板
- 支持自定义表情列表 (类型: Text \ image)
- 支持外链自定义表情 (类型: Text \ image)
特点
- 真·安全
- 轻量 (~60kb gzip: ~20kb)
- 自托管 (Nodejs 后端跨平台)
- 免费部署 (Server、ServerLess 均可部署)
- 邮件通知
- 防 XSS 注入
- 嵌入式评论管理
- 批量处理 (通过 \ 审核 \ 垃圾 \ 删除 )
- 在线编辑 (评论信息 \ 配置信息)
- 评论搜索 (模糊搜索: 昵称、邮箱、IP、评论内容、文章地址)
- 自动保存 (评论草稿、用户名、邮箱、网址)
- 身份认证 (博主 Tag \ 自定义)
- 评论头像 (Gravatar \ QQ 头像)
- 反垃圾检测 (Akismet-API)
- 限制评论频率 (每个 IP 10 分钟内最多评论多少条 \ 10 分钟内所有 IP 只能评论多少条)
开发
加入我们一起开发
git clone https://github.com/discussjs/Discuss.git Discuss
cd Discuss
npm install # 安装依赖
npm run start:client # 启动客户端
npm run start:server # 启动服务端
npm run lint # 在提交代码之前,您因该对你写的代码进行检查
特别感谢
- Pubudu Dodangoda 提供的 NPM 包名
Dependencies
@cloudbase/node-sdk: ^2.9.1akismet-api: ^5.2.1axios: ^0.22.0bcryptjs: ^2.4.3body-data: ^1.0.5dotenv: ^10.0.0get-user-ip: ^1.0.0html-minifier: ^4.0.0jsdom: ^19.0.0jsonwebtoken: ^8.5.1md5: ^2.3.0min-1px: ^1.0.0mongodb: ^4.8.0msg-alert: ^1.0.0-beta.4mysql2: ^2.3.3nodemailer: ^6.7.0output-line: ^1.0.1pg: ^8.7.3pg-hstore: ^2.3.4sequelize: ^6.21.3simple-unique: ^1.2.0sqlite3: ^5.0.10xss: ^1.0.10
Dependencies
@commitlint/cli: ^16.2.3@commitlint/config-conventional: ^16.2.1@rollup/plugin-commonjs: ^17.0.0@rollup/plugin-json: ^4.1.0@rollup/plugin-node-resolve: ^11.0.0eslint: ^8.15.0eslint-plugin-svelte3: ^4.0.0husky: ^7.0.4lint-staged: ^12.3.7node-sass: ^7.0.1nodemon: ^2.0.15postcss: ^8.4.13postcss-preset-env: ^7.1.0prettier: ^2.6.2rollup: ^2.3.4rollup-plugin-livereload: ^2.0.0rollup-plugin-serve: ^2.0.1rollup-plugin-svelte: ^7.0.0rollup-plugin-svelte-svg: ^1.0.0-beta.6rollup-plugin-terser: ^7.0.0sass: ^1.51.0svelte: ^3.0.0svelte-preprocess: ^4.10.6