贡献指南¶
这是个人 wiki,主要由 @trilliverse 维护。但如果你发现错误、有补充材料或建议,欢迎贡献。
报告问题¶
发现错误(公式错、概念不准、链接失效、错别字均算)的最简单方式:
- 打开对应页面,点页面右上角 ✏️ 图标直接在 GitHub 上编辑并发 PR;或
- 在 GitHub Issues 描述问题。
本地开发¶
1 2 3 4 5 6 7 8 9 10 11 12 13 | |
关于启动时的 MkDocs 2.0 横幅
mkdocs-material 9.6+ 会在启动时打印一段红色的 MkDocs 2.0 社区议题广告。run.sh 和 CI 都已通过 NO_MKDOCS_2_WARNING=true 关闭它。如果直接运行 uv run mkdocs build --strict 看到横幅,无视即可,或在当前 shell 执行 export NO_MKDOCS_2_WARNING=true。
本地默认不抓 GitHub 贡献者列表
git-committers 插件默认在本地 关闭(enabled: !ENV [ENABLE_GIT_COMMITTERS, false]),所以本地 ./run.sh 和 mkdocs build 不会调 GitHub API、不会触发 advisory warning。贡献者那一行只在线上站点显示,CI 中 ENABLE_GIT_COMMITTERS=true + secrets.GITHUB_TOKEN 已自动配好。
若你本地想看贡献者效果(需要 GitHub PAT,赋 public_repo scope 即可):
1 2 3 | |
写作约定¶
- 每门课一个目录,目录名用小写 + 短横线(如
game-theory、data-mining)。 - 每个章节一个 Markdown 文件,文件名
ch01.md、ch02.md…;章节内 H1 标题用# 第 N 章 · 标题。 - 公式:行内
$x$,展示式$$ \sum_{i=1}^n x_i $$,使用 MathJax 3 默认语法。 - 代码块指定语言,例如
```python,以便高亮。 - 引用与外链用相对路径,避免硬编码站点 URL。
- 图片放在
docs/assets/<course>/下,引用时用相对路径。
加新课程¶
- 判断课程归属的学科板块:
math//cs//opt//ds//bigdata//econ/。归属不清时按"边界判定原则"(见下)就近选一边,后续可迁。 - 在
docs/<板块>/<course-slug>/下创建index.md(课程总览)和章节文件ch01.md…chN.md。 - 在
mkdocs.yml的nav:对应板块下追加该课程子树。 - 同步更新
docs/about/courses.md的"当前上线进度"和对应docs/<板块>/index.md的状态列。 - 本地
uv run mkdocs build --strict验证 nav 配置正确(注意需要设MKDOCS_GIT_COMMITTERS_APIKEY或不开--strict)。 - 提交并 push,去 GitHub Actions 手动触发 Deploy Wiki workflow(本仓库目前是手动部署)。
边界判定原则(课程归哪个板块)¶
跨板块嫌疑较大时按"核心目标"判定:
| 课程核心目标 | 归 |
|---|---|
| 找最优解 / 决策 / 均衡 | 优化决策 |
| 从数据归纳模型 / 洞察 | 数据科学 |
| 基础设施 / 平台 / 治理 | 大数据 |
| 解释经济 / 商业现象 | 经管 |
| 数学本身(不应用) | 数学 |
| 通用 CS 基本功 | 计算机科学 |