USC Wiki

贡献指南

如何为 USC Wiki 新增或修改文档

感谢你愿意为 USC Wiki 添砖加瓦。若还不确定可以从哪种方式参与,可先阅读 贡献方式;本文说明如何新增或修改文档,让其他同学也能快速上手。

开始之前

  1. Fork GitHub 仓库 并 clone 到本地。
  2. 安装 pnpm,在项目根目录执行:
pnpm install
pnpm dev
  1. 浏览器打开 http://localhost:3000,确认修改能正常预览。

文档放哪里

内容类型目录示例
选课、教材选用、GPA、课程安排docs/学习指南/教务指南/选课技巧、教材征订、绩点说明
学院与专业资料docs/学习指南/学院与专业/培养方案、学院介绍
单门课程攻略docs/学习指南/课程攻略/高数、软工实训
试卷与资料docs/学习指南/课程资料/历年试卷、笔记
校园网、校历docs/新生入门/入学相关
校园生活docs/校园生活/生活指南、常用软件
竞赛信息docs/竞赛与资源/竞赛/软件杯、服创
办事流程docs/事务办理/报销、驾照
软件/账号教程docs/竞赛与资源/使用教程/邮箱、WPS
软件与模板docs/竞赛与资源/软件与模板/软件推荐、模板

如果不确定放哪,可以先在 Issue 里讨论,或直接提 PR 并在描述中说明。

文件命名

  • 优先使用中文文件名,与页面标题一致,例如 选课指南.md
  • 每个目录放一篇 index.md 作为该分类的入口页。
  • 附件(图片、PDF、Word)放在文档同目录的 attachments/ 子目录;课程试卷等共享附件可放在 docs/学习指南/attachments/,构建时会自动同步到 /vault/

Frontmatter 约定

每篇文档开头建议加上 YAML frontmatter:

---
title: 页面标题
description: 一句话摘要,会用于 SEO 和目录说明
order: 10
draft: false
created: 2026-01-01
updated: 2026-01-01
---
  • title:侧边栏和页面标题;不要在 title 里加 emoji,emoji 放在正文 # 标题 即可。
  • description:可选,建议填写。
  • order:可选,数字越小越靠前;同一目录内生效。
  • draft:设为 true 时,仅在 pnpm dev 本地预览可见pnpm build 正式构建不会发布该页,侧边栏也会自动隐藏。
  • created / updated:文档创建与最近更新时间(YYYY-MM-DD),会显示在页面底部。可用 pnpm sync:doc-meta --write 从 Git 历史批量同步。

也可以复制 docs/_templates/页面模板.md 作为起点。

支持的 Markdown 语法

项目兼容 Obsidian 常用写法,完整示例见 Markdown 语法示例

  • Wiki 链接:[[页面名]][[文件.pdf|下载]]
  • 图片嵌入:![[image.png|240]]
  • Callout:> [!tip] 提示
  • 数学公式:$...$$$...$$
  • 任务列表:- [ ] / - [x]

Wiki 链接按文件名或 title 解析,移动文件通常不会断链;但普通 Markdown 链接 [文本](/path/) 需要手动更新路径。

提交 PR

  1. 新建分支,例如 docs/add-xxx-guide
  2. 只提交与本次文档相关的改动,避免混入无关修改。
  3. 本地执行 pnpm build 确认能正常构建。
  4. 提交 PR,简要说明:新增/修改了什么、为什么有用、是否需要后续补充。

内容规范

  • 信息尽量准确、可验证;不确定的内容请标注「待补充」或「截至 yyyy-mm」。
  • 不要提交密码、学号、身份证等隐私信息。
  • 引用他人资料请注明来源。
  • 文档内容采用 CC BY-NC-SA 4.0 许可。

常见问题

Q: 改了 source.config.ts 或 remark 插件后页面没更新?
A: 重启 pnpm dev,必要时硬刷新浏览器(Ctrl+Shift+R)。

Q: 图片显示不出来?
A: 确认图片在 docs/ 下,且运行过 pnpm sync:vaultpnpm dev 会自动执行)。

Q: 侧边栏顺序不对?
A: 在该目录的 index.md 或具体页面的 frontmatter 里设置 order 数值。

如有其他问题,欢迎在 Issue 中提问,或到 加入社区 交流。

创建 2026-01-11 · 更新 2026-06-21