本文档介绍了驱动 OSSU Computer Science 课程网站 (cs.ossu.dev) 的 Jekyll 站点配置和 GitHub Pages 设置。该配置包括 Jekyll 站点生成设置和自定义域名设置。
有关仓库结构和开发环境的信息,请参阅 开发设置。
OSSU 网站使用 Jekyll 构建,Jekyll 是一个静态站点生成器,可将 markdown 文件转换为完整的网站。站点配置在 `_config.yml` 中定义,该文件指定了主题、导航结构和内容包含规则。
Jekyll 配置确立了基本的站点属性和视觉外观
该站点使用 jekyll/minima 远程主题,在特定的提交哈希 [7d91bb5] 下,确保了跨部署的一致性样式。 auto 皮肤设置允许根据用户偏好自动切换浅色/深色模式。
Jekyll 站点结构
站点导航被明确配置为在主菜单中包含特定页面
在 `_config.yml5-7 中的 nav_pages 数组定义了哪些 markdown 文件会出现在站点导航菜单中。目前配置的页面是
FAQ.md - 常见问题解答HELP.md - 支持和社区资源Jekyll 的默认行为会排除某些文件不进行站点生成。 include 指令会覆盖此规则,以包含特定文件
在 `_config.yml8 中的 include 数组强制 Jekyll 处理 CONTRIBUTING.md,尽管它通常因 GitHub 的特殊文件名约定而被排除。
内容处理流程
OSSU 网站通过 GitHub Pages 自定义域名配置,托管在自定义域名 cs.ossu.dev 上。
自定义域名通过仓库根目录中的 CNAME 文件进行配置
包含单个指定自定义域名 cs.ossu.dev 的 `CNAME` 文件包含一行指定自定义域名 cs.ossu.dev。该文件指示 GitHub Pages 在此域名下提供站点,而不是使用默认的 username.github.io 格式。
域名解析过程
来源:CNAME1
网站生成遵循 GitHub Pages 的自动化 Jekyll 构建过程
jekyll/minima 远程主题被应用以生成带样式的 HTMLnav_pages 中的页面会被添加到站点导航中include 中的文件,都会被转换为 HTML完整的站点架构
网站配置的外部依赖最少
| 组件 | 依赖项 | 版本/提交 | 目的 |
|---|---|---|---|
| Jekyll 主题 | jekyll/minima | 7d91bb5 | 站点样式和布局 |
| GitHub Pages | GitHub 的 Jekyll 服务 | 最新版 | 站点生成和托管 |
| 自定义域名 | DNS 配置 | 不适用 | 域名解析到 GitHub Pages |
固定的主题提交哈希确保了样式的一致性,不受 minima 主题仓库上游变更的影响。