如何向 CS自学指南 贡献一门新课程页面并让它进入站点导航?

发布时间:2026/9/10 13:47:51

如何向 CS自学指南 贡献一门新课程页面并让它进入站点导航? 如何向 CS自学指南 贡献一门新课程页面并让它进入站点导航【免费下载链接】cs-self-learning计算机自学指南项目地址: https://gitcode.com/GitHub_Trending/cs/cs-self-learning如果你学完了一门 CS 课程想把它推荐给 CS自学指南cs-self-learning 仓库MkDocs Material 主题构建的开源书站点的读者需要完成两件事新增一个课程页面文件并把这个页面写进 mkdocs.yml 的nav配置让它出现在站点左侧导航中。本文按仓库 README.md “如何成为贡献者”一节给出的流程走一遍从建页到上线的完整路径新建中英两个课程页面、在mkdocs.yml中挂载导航、可选在 docs/CS学习规划.md 中补一句导语最后用与 CI 相同的工具链本地构建验证再提交 Pull Request。一门新课程涉及的改动位置位置文件是否必须中文课程页面docs/模块目录/课程名.md参照 template.md必须英文课程页面同名文件的.en.md版本参照 template.en.md必须README 要求“贡献的内容需要提供对应的英文翻译”站点导航mkdocs.yml 的nav段必要时补nav_translations必须学习规划导语docs/CS学习规划.md 对应模块可选README 原文为“当然你还可以……为其添加言简意赅的导语”第一步按 template.md 创建课程页面仓库按模块组织课程页面例如 docs/操作系统/MIT6.S081.md。你的新页面应放进对应的模块目录文件名自定与导航中的路径一致即可。template.md 的结构如下代码块为模板骨架注释内容已省略# 课号课程名称 ## 课程简介 - 所属大学 - 先修要求 - 编程语言 - 课程难度 - 预计学时 ## 课程资源 - 课程网站 - 课程视频 - 课程教材 - 课程作业 ## 资源汇总 ## 备注填写要点均来自模板原文标题格式为课号课程名称“课程难度”一栏模板以三星为示例值按课程实际难度填写。模板在“课程简介”标题后附有一段 HTML 注释列出简介建议覆盖的内容课程覆盖的知识点范围、与同类课程相比的优势与特点、学习体验、自学注意点踩坑、难度预警等。“资源汇总”一节用于列出你学习这门课用到的资源与作业实现所在仓库模板示例写作XXX 在学习这门课中用到的所有资源和作业实现都汇总在 user/repo 中——XXX和你的资源仓库地址都是占位符需替换为你自己的 GitHub ID 和实际仓库没有对应仓库就不要照抄示例。模板末尾的“备注”一节要求编写文档时遵守 Markdown Rules 与中文简中西文混排要点可用 VS Code 插件 markdownlint 提示并处理并且模板明确写着“正文中请删除该节”——交付前把整节删掉。英文版页面与中文页面同名扩展名加.en例如docs/操作系统/MIT6.S081.md对应docs/操作系统/MIT6.S081.en.md。template.en.md 的结构与中文版一一对应# Course Code: Course Name、## DescriptionsOffered by / Prerequisites / Programming Languages / Difficulty / Class Hour、## Course ResourcesCourse Website / Recordings / Textbooks / Assignments、## Personal Resources。第二步在 mkdocs.yml 的 nav 中挂载课程mkdocs.yml 文件末尾的nav:段定义了站点左侧导航条目格式为导航名: 页面路径页面路径相对于 docs 目录。以现有的操作系统模块为例nav: - 操作系统: - MIT 6.S081: Operating System Engineering: 操作系统/MIT6.S081.md - UCB CS162: Operating Systems and Systems Programming: 操作系统/CS162.md把新课程加到所属模块的列表中即可例如在“操作系统”下追加一行- 你的课程名: 操作系统/你的课程页.md。如果课程应归入模块下的子分类如 mkdocs.yml 中“编程入门”下的Python 语言、“深度生成模型”下的大语言模型则按现有两级嵌套的格式写- 编程入门: - Python 语言: - UCB CS61A: Structure and Interpretation of Computer Programs: 编程入门/Python/CS61A.md关于英文名mkdocs.yml 中的 i18n 插件同时构建 zhdefault和 en 两个站点并靠nav_translations映射把中文导航名翻译成英文例如plugins: - i18n: nav_translations: 操作系统: Operating Systems现有模块操作系统、编译器、机器学习等都已有映射条目。如果你的新课程挂在已有模块下通常不需要动nav_translations只有当你要新增一个此前不在映射表里的一级模块或子分类时才需要同步补一条中文名: English Name的映射否则英文站导航将缺少该名称的翻译。第三步可选在 CS 学习规划中补一句导语docs/CS学习规划.md 按“模块 → 小节 → 每门课一两句介绍 链接”的结构组织例如其中引用课程页面的写法是[MIT 6.S081](https://link.gitcode.com/i/b3a1c068984b9c7f4011e6e60d6f7cfd)。因为该文档位于 docs 根目录链接目标写课程页相对 docs 根的路径./模块/课程.md即可。这一步 README 表述为“当然你还可以”属于加分项不是进入导航的前提。本地验证用与 CI 相同的依赖构建站点仓库 requirements.txt 列出了构建依赖mkdocs-material9.5.2、mkdocs-static-i18n1.2.0、mkdocs-minify-plugin0.7.1、jinja23.1.2等CI 工作流 .github/workflows/ci.yml 的做法就是安装这份依赖后用 mkdocs 构建部署。提交前在本地按同一工具链验证pip3 install -U -r requirements.txt mkdocs build构建完成后检查三点生成的站点输出中出现了你新增的课程页面且在左侧导航的对应模块下可见导航条目文字、页面路径拼写无误——若新课程没进导航先核对nav里的路径是否以 docs 目录为基准这是nav配置唯一的隐含基准也是最容易写错的一处中文、英文两个语言版本都能正常构建i18n 插件配置了 zh 与 en 两个 locale 且build: true。提交 PR 与上线项目的贡献入口是向仓库提交 Pull Request见 README.md “如何成为贡献者”也可以在 issue 或邮件docs/index.md 中给出的作者邮箱里先沟通。PR 合并、推送到 master 分支后CI 会自动执行pip3 install -U -r requirements.txt和mkdocs gh-deploy --force把站点部署到 mkdocs.yml 中site_url指定的官方地址。届时在站点左侧导航的对应模块下能看到你的课程页、点击进入页面渲染正常即表示贡献完成。两点收尾提醒中英文混排排版上项目会做校对README 说明了校对依据页面中的课程资源链接、视频地址请填真实可访问的地址课程简介按模板建议把难度预警和踩坑点写清楚——这些是读者自学时最依赖的信息。【免费下载链接】cs-self-learning计算机自学指南项目地址: https://gitcode.com/GitHub_Trending/cs/cs-self-learning创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/9/10 14:58:28

高效多窗口管理工具与配置指南

1. 多窗口办公的痛点与效率革命每天面对十几个重叠交错的窗口,你是不是也经常陷入这样的困境:找一份文档要在任务栏来回切换五六次,写报告时参考网页和编辑器永远对不齐位置,视频会议时重要资料总被遮挡......这种低效的窗口管理方…

2026/9/10 14:58:28

STM32F407驱动DHT11单总线温湿度传感器实战指南

简介:本资源是面向STM32嵌入式初学者与课程实践者的DHT11温湿度传感器驱动开发实验包,聚焦STM32F407微控制器与单总线数字传感器的底层通信实现。资源完整覆盖GPIO推挽输出配置、精确延时控制、One-Wire协议模拟、40位数据解析及校验和验证等核心环节&am…

2026/9/9 13:11:35

超人会飞不算本事:系统稳定依赖清晰规则与边界设计

开头先不绕弯子。“#斯坦李吐槽dc 所以超人是无缘无故会飞的嘛哈哈哈哈哈哈哈锤哥真是技术人才啊!#雷神 #复联”这类调侃式短标题,第一波冲击力在于它把两个宇宙的角色塞进同一个吐槽箱里,但细想一下就能发现,它真正碰到的根本不是…

2026/9/10 11:16:38

超人VS蜘蛛侠:拆解超级IP的影响力与传播方法论

把“蜘蛛侠 vs 超人”放在 CSDN 上聊,可能很多人第一反应是走错片场了。但如果把这两个角色看成“两个持续运营了 80 多年的文化产品”,你会发现,这场比较本质上是两个不同 IP 策略的长期结果对比:超人赢在定义了整个超级英雄题材…

2026/9/9 16:31:09

基于CNN的调制信号识别:MATLAB实现时频图分类实战

简介:本资源是一套面向通信工程与信号处理方向学习者、研究者的深度学习实践方案,聚焦调制信号自动检测与识别这一典型无线通信任务,解决传统方法依赖人工特征、低信噪比下性能下降等痛点。压缩包共12个文件(10.73MB)&…

2026/9/10 0:00:55

目录对比去重实战:用哈希算法精准清理重复文件

我电脑里现在还有一块换了三次机的“数据墓地”硬盘,里面存着2016年以前所有旧笔记本的完整备份。平时不觉得有什么,直到前阵子想把它整理归档,发现同一个安装包、同一批照片、同一份论文草稿,在几个不同的备份目录里反复出现。更…

2026/9/10 0:00:55

Leaflet离线地图完整Demo合集:内网部署与坐标纠偏实战

简介:这是一份面向Web GIS开发者的LeafLet离线地图示例合集,帮助开发者快速掌握离线地图从搭建到交互的完整流程。压缩包共723个文件,大小14.06MB,以319个js脚本、175个html页面和29个css样式文件为主体,配合png/svg图…

2026/9/10 0:00:55

MATLAB读取Rinex 3.02观测文件:多系统GNSS数据解析实战

简介:基于MATLAB开发的Rinex3.02版观测文件(o文件)读取代码包,面向卫星定位导航方向的学习者与研究人员,用于解决新版观测文件的数据解析、历元提取与时间转换问题。压缩包共4个文件,包含两个m脚本、一个19…

2026/9/10 12:32:02

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/7 22:46:00

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/9 10:21:54

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
咨询二维码