贡献指南 ¶
本网站欢迎一切贡献 🎉
不过课程内容只面向上海大学网络空间安全专业范畴,外来贡献同样欢迎,但注意不要添加无关课程内容。
如果你想要为本网站进行贡献,以下是一些指南。
本地构建 ¶
- 克隆本项目 repo
- 安装 python 依赖(mkdocs 以及 material)
- 安装本文档专用插件
- 启动 mkdocs 本地服务
- 之后即可通过浏览器访问 localhost:8000 预览网站
若之前未通过 --recursive
拉取 submodule,可如下操作拉取插件:
贡献内容 ¶
网站结构 ¶
目前本站内容根据课程类别进行分组,然后在根据课程单独分页,每页内记录关于该课程的介绍、学习资料、学习技巧等。
在源代码层面,使用 markdown 进行编写,每一门课程是一个文件夹,路径和网站链接路径保持一致,文件夹内 index.md
为该门课程的主页,文件夹内可以存放该课程的图片素材、学习资料等等。整体结构在 mkdocs.yml
文件中的 nav
部分定义。
.
├── docs
│ ├── contribute.md # 本页
│ ├── template.md # 课程页面模板
│ ├── index.md # 主页
│ ├── css/ # 本站用到的所有 css 样式
│ ├── general/ # 通识选修课
│ ├── images/ # 仅用来保存网站图标
│ ├── js/ # 本站用到的所有 js 脚本
│ ├── docs/ # 课程一览
│ ├── 1_css/ # 网络空间安全
│ ├── 2_cst/ # 计算机科学与技术
│ ├── 3_ist/ # 智能科学与技术
│ ├── 4_ai/ # 人工智能
│ ├── 6_forum/ # 留言区
│ └── 7_friend/ # 友情链接
├── mkdocs.yml # mkdocs 站点设置
├── overrides/ # mkdocs-material 个性主题设置
└── requirements.txt # 本站构建所需全部 python 依赖
贡献守则 ¶
你可以对本网站进行任何贡献,包括完善、更新页面内容,添加新页面,样式修改等等。
如果是添加新页面的话,请记得同时更新好 mkdocs.yml
的 nav
部分,使新页面能够正常通过站点目录被访问。
对于页面内容:
- 对于课程请进行客观的评价,尽量不要带有主观色彩(比较主观的内容可以在页面下评论)
- 对于外部资源,请尽量插入链接,不要将文件传入本 repo
- 尽量不要上传有版权的文件,例如课件等
- 对于自己的笔记、复习提纲等材料:
- 如果有自己的网站,推荐放在自己的网站并在此插入链接
- 尽量规范编写 markdown,避免出现格式错误
- 如果你实在搞不定,不要担心,尽管上传,我们发现后会及时进行修改
贡献方式 ¶
Pull Request(推荐)¶
推荐通过 PR(即 Pull Request)的形式来进行贡献,具体流程:
- 在 GitHub 网页端点击右上角的 fork,将本仓库 fork 到自己的账号下
- 在自己账号的对应仓库中进行修改
- 修改完成后,点击 New pull request,提交一个 PR
- 等待其他人审核、修改,然后合并到本 repo 中
直接提交 ¶
对于在 Organization 中的同学,如果实在觉得 PR 过程有些复杂,也可以直接修改、提交到本仓库中(可以在线修改,也可以 clone 到本地修改然后 commit、push)。如果在提交中存在问题,我们后续会及时进行修改
Note
可以直接通过页面标题右侧的编辑按钮 定位到对应的 GitHub 页面进行修改。
问题反馈 ¶
如果你发现本网站内容存在问题,请优先在对应页面下方评论区中进行评论,或者在 repo 中开一个 issue 来提出问题。
如果你发现本网站存在侵犯您权益的内容,请通过 issue 联系我们,我们会进行删除。