菜单

开发环境设置

相关源文件

本文档涵盖了 OSSU 计算机科学课程仓库贡献者的技术基础设施和开发环境设置。它详细介绍了仓库结构、版本控制配置和本地开发环境要求。

有关网站配置和 Jekyll 设置的信息,请参阅 网站配置。有关贡献指南和流程的信息,请参阅 如何贡献

存储库结构

OSSU 计算机科学仓库遵循以文档为中心、为课程维护和 Jekyll 网站生成而优化的结构。该仓库具有双重目的:通过 GitHub 提供课程内容,并在 cs.ossu.dev 上生成静态网站。

文件组织原则

来源: LICENSE1-22 .gitignore1-6

版本控制配置

该仓库使用 Git,并带有特定的排除模式,以维护贡献者和自动化系统的清洁工作环境。

Gitignore 配置

.gitignore 文件包含对常见开发工件的排除项

模式目的受影响的工具
.ideaJetBrains IDE 配置IntelliJ IDEA, PyCharm, WebStorm
*.swpVim swap 文件Vim 编辑器
*.swoVim swap 文件(替代)Vim 编辑器
.direnv/目录环境配置direnv 工具
.envrc环境变量配置direnv 工具

来源: .gitignore1-6

开发环境要求

核心依赖项

OSSU 仓库在本地开发方面只需要最少的依赖项

  1. Git - 用于克隆和贡献的版本控制系统
  2. 文本编辑器 - 用于编辑 markdown 的任何编辑器 (VS Code, Vim, JetBrains IDEs)
  3. Jekyll (可选) - 用于本地站点预览和测试
  4. Ruby (可选) - 如果在本地运行 Jekyll 则需要

本地开发工作流

来源: .gitignore1-6 LICENSE1-22

支持的开发环境

JetBrains IDE

该仓库排除了 .idea 目录,表明支持 JetBrains 开发环境,包括

  • IntelliJ IDEA
  • PyCharm
  • WebStorm
  • CLion

配置文件会自动排除在版本控制之外。

Vim/Neovim

Vim swap 文件 (*.swp, *.swo) 已被排除,支持基于 Vim 的开发工作流。该配置处理编辑会话期间生成的主要 swap 文件和备份文件。

环境管理

该仓库支持 direnv 进行环境变量管理

  • .direnv/ 目录排除用于工具状态
  • .envrc 文件排除用于本地环境配置

这允许贡献者设置项目特定的环境变量,而不会影响共享的代码库。

仓库许可

该仓库使用 MIT 许可,为使用、修改和分发提供了广泛的权限。

  • 版权:2015-2023 Open Source Society University
  • 许可类型:MIT 许可
  • 权限:商业使用、修改、分发、私人使用
  • 限制:无保证、责任限制

来源: LICENSE1-22

文件系统约定

Markdown 标准

所有课程内容均使用 Markdown 格式,并遵循一致的命名约定

  • README.md 文件充当目录入口点
  • 小写文件名,多词名称用连字符分隔
  • 所有文档文件使用 .md 扩展名

目录结构

  • 根目录:核心课程和配置文件
  • 课程目录:按主题组织的特定内容
  • extras/:补充资源和替代内容

该结构支持 GitHub 导航和 Jekyll 网站生成,且互不冲突。

来源: .gitignore1-6 LICENSE1-22