| 摘要 | Dumbcourse 在 /dumb 下增加了一个轻量级的、对旧版浏览器友好的 Discourse 用户界面,专为 D 键导航、小屏幕和旧版 Android WebViews 设计,在这些环境下标准 Discourse UI 可能过于沉重。 |
|
| 仓库链接 | https://github.com/TripleU613/dumbcourse | |
| 安装指南 | 如何在 Discourse 中安装插件 |
该项目得益于 @ars18 的工作:
原始项目使用 Cloudflare worker 代理来提供论坛,而 dumbcourse 插件则将其完全集成到您的 discourse 实例中。
特性
- 在与 Discourse 相同的域名下,于
/dumb提供一个最小化的 SPA(单页应用) - ES5 / 无构建步骤;有意保持最小的 DOM/JS/CSS 以兼容旧版浏览器和 WebViews
- 使用同源 Discourse JSON 端点和标准的 Discourse 会话 Cookie
- 主题列表:
latest(最新)、new(新帖)、top(热门)、unseen(未读)、hot(火热)、my(我的),以及分类 - 分类视图:
/dumb/c/:slug/:id - 主题阅读和发帖(回复/引用/反应)
- 搜索和基本个人资料视图
- D 键友好的导航,具有可聚焦的 UI 元素
配置
-
安装插件
- 在
containers/app.yml的hooks -> after_code部分添加仓库地址,然后重建容器。
- 在
-
启用
- 前往 管理 → 插件 → Dumbcourse
- 启用
dumbcourse_enabled
-
选择默认设置
- 设置默认主题和默认着陆视图(参见下文的设置)。
-
验证
- 访问:
https://YOUR_FORUM_DOMAIN/dumb - 未登录用户应跳转到
/dumb/login - 已登录用户应看到配置的默认视图
- 访问:
截图
状态 / 已知限制
该项目目前处于 Beta 阶段(初始实现较快完成),因此可能会有一些不完善之处。欢迎贡献和代码审查。
当前已知的差距/待解决问题:
- 注册 + 验证码 (CAPTCHA): 账户创建依赖于 Discourse 的标准注册流程,但验证码的行为可能因站点配置而异。
- 安全审查: 简化的 UI 不应绕过 Discourse 的权限,但尚未进行彻底的安全审查。请报告任何疑虑或可疑行为。
- 管理/管理员 UX: 目前管理和管理员工具很少;安全地扩展这部分功能已在路线图上。
- 触摸 + D 键交互: 在某些设备上,触摸输入可能会与焦点导航冲突;计划进行改进。
- 链接分享:
/dumb提供了一个替代 UI,这就引发了在“dumb”用户和标准用户之间分享规范链接的问题。一致的方法仍在完善中。
致谢
特别感谢 @ars18 (GitHub: https://github.com/alltechdev) 对关键部分的贡献以及帮助启动了最初的想法。
设置
| 名称 | 描述 |
|---|---|
dumbcourse_enabled |
Dumbcourse 的主开关(开启/关闭)。 |
dumbcourse_default_theme |
/dumb 的默认主题(dark / light)。 |
dumbcourse_default_view |
默认着陆视图(latest / new / top / unseen / hot / my / categories)。 |
dumbcourse_sidebar_link_enabled |
在侧边栏添加一个指向 /dumb 的链接。 |











