TimOxO 发布于
1.0.0
最新>=2.25.0
🎉 首个版本发布!
为 Halo 提供社区论坛功能:讨论 + 问答 + 公告 + 两级分类,适合博客站旁的隔离社区。
在线演示:blog.timxs.com/bbs(同时是互动增强的演示插件——帖子列表 / 详情已接入装扮与用户卡)
✨ 功能特性
- 帖子类型:讨论 / 问答 / 公告(仅管理端可发),三类帖必须归属分类
- 问答闭环:作者与版主可标记「已解决」,列表徽标区分未解决 / 已解决
- 两级分类:Iconify 图标 + 独立分类色 + slug + 封面,拖拽排序;板块级配置(置顶帖上首页、版主角色)仅一级分类可设
- 审核流(可选):草稿 / 待审核 / 已发布 / 已驳回;可配置「编辑已发布是否重新审核」;驳回后重提永远重审;审核中可显式「取消提交」退回草稿;软删除进回收站
- 版主体系:全站版主(
bbs-moderate)+ 分区版主(一级分类指定角色,只管辖自己分类树) - 置顶与锁定:置顶在所属分类页浮顶、可选上首页(独立开关 + 权重);锁定帖禁评论、禁作者编辑 / 删除,历史评论只读
- 编辑历史:基于 Halo 核心 Snapshot 版本链,历史版本查看、并排对照、恢复
- 评论:接入 Halo 官方评论体系,详情页由「评论组件」插件渲染;评论管理复用 Halo 后台「评论」页
- 全文搜索:接入 Halo 搜索,已发布帖子可被站点全局搜索搜到
- RSS:经 plugin-feed 输出全站与一级分类订阅源
- 前台:Flarum 风格两栏布局——分类树 + 紧凑列表,圆标(公告 / 置顶 / 未解决)+ 线框(已解决 / 锁定),桌面 / 窄屏自适应
- 互动增强集成(可选):帖子页装扮(头像框 / 称号 / 勋章 / 悬浮名片)、作者名链接优先用用户卡跳转模板、发帖数贡献到名片统计
- 站内通知:审核通过 / 驳回走 Halo 官方通知中心
- 面向主题:Finder(
${bbs})+ 匿名公开 REST API,可覆盖bbs.html/bbs_post.html模板 - 安全:正文 HTML 服务端白名单净化,SVG 图标零 URL / 零事件属性
📋 环境要求
- Halo >= 2.25.0
- JDK 21(自行构建)
📦 安装方式
下载 plugin-bbs-1.0.0.jar,在 Halo 后台 → 插件 → 安装 → 上传并启用。
🔧 配置说明
- 创建分类(必须先行):「BBS 社区 → 帖子列表 → 分类」,帖子必须归属分类,一个分类都没建时用户发不了帖
- 分配角色:发帖权已聚合给所有登录用户,无需配置;版主 / 管理角色手动分配
- 安装评论组件:评论区必需(未装则评论区为空,其余正常);可选装互动增强(装扮)与 plugin-feed(RSS)
- 外观与审核:插件设置里配品牌(标题 / Logo / 主题色)、审核开关(默认提交即发布)
- 访问前台
/bbs验证
⚠️ 注意事项
- 先建分类再开放发帖——没有分类时用户侧无法发帖
- 评论的登录 / 审核策略由「系统设置 → 评论」统一控制
- 「后台查看」权限不要授给普通用户,否则对方能进管理后台看到草稿 / 待审核 / 回收站
- 可选依赖(互动增强 / plugin-feed)缺席时自动降级,不影响插件启动与运行
- 公告仅管理端可发;用户不能置顶、不能锁定
📚 文档
反馈:BBS 社区
资源下载
- plugin-bbs-1.0.0.jar