# 帅帅 DND 中文门户 demo

`shuaishuaidnd.cn` 的可上线静态门户 + 独立轻社区路径 demo。页面不依赖构建工具或外部 CDN，适合先部署到 Nginx、静态托管或对象存储，再逐步接入真实社区。

## 社区底座

首选社区底座：`flarum/flarum`，MIT 许可，PHP 轻论坛。

当前工作区不满足直接安装 Flarum 的条件：`php` 和 `composer` 不在 PATH 中，`npm` 也不可用；因此本仓库采用“静态门户页 + `/community/` 独立社区预览”的落地方式。`community/index.html` 是 Flarum 风格的信息架构 demo，不是最终论坛后端。

生产建议：

1. 门户静态文件部署在 `https://shuaishuaidnd.cn/`。
2. Flarum 独立安装在服务器目录或独立容器中，配置站点 URL 为 `https://shuaishuaidnd.cn/community`。
3. Nginx 将 `/community/` 反向代理到 Flarum upstream，或在该路径挂载 Flarum `public` 目录。
4. Flarum 中建立标签：新手村、规则问答、战役招募、资源工坊、跑团日志。

备选底座：如果生产服务器仍无法满足 PHP/Flarum，可改为 NodeBB；若更偏问答知识库，可改为 Apache Answer。本 demo 当前明确按 Flarum 迁移设计。

## 文件结构

- `index.html`：门户首页，包含新手入口、资源筛选、活动招募和社区底座说明。
- `community/index.html`：独立社区路径的静态交互预览。
- `assets/styles.css`：移动优先响应式样式。
- `assets/app.js`：导航、筛选、社区草稿预览等无依赖交互。
- `assets/*.svg`：本地视觉素材和 favicon。
- `deploy/nginx-shuaishuaidnd.conf`：静态 demo 与 Flarum 生产接入示例。
- `scripts/serve-static.mjs`：本地静态预览服务器。

## 本地预览

直接打开 `index.html` 可以预览。也可以用 Node 启动本地静态服务器：

```bash
node scripts/serve-static.mjs 4173
```

然后访问：

- `http://127.0.0.1:4173/`
- `http://127.0.0.1:4173/community/`

## 上线清单

1. 将本仓库静态文件发布到 `/var/www/shuaishuaidnd-portal`。
2. 先使用 `deploy/nginx-shuaishuaidnd.conf` 的静态 demo block。
3. 准备 PHP、Composer、MySQL/MariaDB 和 PHP-FPM 后，安装 Flarum。
4. 将 Nginx 的 `/community/` block 切换到 Flarum upstream。
5. 配置 HTTPS、备份、邮件发送、注册策略、中文语言包、标签权限和反垃圾策略。

这是非官方中文 D&D 玩家门户 demo。Dungeons & Dragons 为其权利方商标。
