Skip to content

Wiki ​

YourTJ Wiki 在站内阅读,在 GitHub 编辑。

正文、历史和审核都以公开仓库 YourTongji/YourTJ-Wiki 为准。论坛只保存阅读所需的投影,正文仍以 GitHub 仓库为准。

阅读 ​

进入 /wiki 可以浏览命名空间和页面树。

页面路径来自 GitHub 仓库的目录结构。站内 Wiki 与普通社区话题分开,不会进入普通首页 feed。

Wiki 也有独立搜索。搜索按段落建立索引,结果按页面聚合;打开结果时可以直接跳到命中的段落。

如果 Meilisearch 暂时不可用,Wiki 阅读仍然可用,搜索接口会明确返回搜索不可用状态。

编辑 ​

修改 Wiki 的正常流程:

  1. 从站内页面打开 GitHub 编辑入口。
  2. 修改对应 Markdown。
  3. 提交 Pull Request。
  4. 完成 Review 并合并。
  5. 等待 YourTJ 同步,或由管理员手动触发同步。

这样版本历史、作者、审核和回滚都只维护一份。

相对链接和附件 ​

Wiki 支持仓库内的相对 Markdown 链接和附件,例如:

markdown
[下一页](other.md#section)
![示意图](../assets/example.png)
[下载讲义](../assets/guide.pdf)

同步时,Markdown 页面链接会转换成站内 /wiki/... 地址;附件则走受控资源路径或管理员配置的 CDN。

页面链接应显式写出 .md 文件名。目录重命名会改变 Wiki URL,需要在同一次改动中更新仓库内链接。

同步如何工作 ​

同步可以由以下事件触发:

  • 服务启动。
  • 定时任务,默认每天 03:00。
  • 管理端手动同步。
  • GitHub push webhook。

同步器先取得仓库的目标分支,再计算页面变化并更新论坛投影。

text
GitHub 仓库
  ↓ clone / fetch / reset
扫描 Markdown 与资源
  ↓
解析 frontmatter / 链接 / 内容哈希
  ↓
更新页面投影
  ↓
重建导航、贡献者和搜索任务

纯重命名或移动页面时,同步器会尝试用内容哈希识别原页面,并复用原来的 topic 和互动关系。如果匹配不唯一,或移动同时伴随大量内容变化,则走保守的新建 / 软删路径,避免把两篇不同页面错误合并。

同步失败时会怎样 ​

错误分两类。

安全错误会中止整次同步,例如路径逃出仓库根目录、symlink 指向 clone 外部。

内容错误只跳过有问题的页面,例如引用了不存在的附件。该页面继续保留上次成功同步的版本,其他页面仍可更新。

管理员可以在 Wiki 管理页查看同步状态和运行记录。

TIP

不要直接改数据库中的 Wiki 正文。下一次同步仍会以 GitHub 仓库为准。