菜单

网站配置

相关源文件

本文档介绍了驱动 OSSU Computer Science 课程网站 (cs.ossu.dev) 的 Jekyll 站点配置和 GitHub Pages 设置。该配置包括 Jekyll 站点生成设置和自定义域名设置。

有关仓库结构和开发环境的信息,请参阅 开发设置

Jekyll 站点配置

OSSU 网站使用 Jekyll 构建,Jekyll 是一个静态站点生成器,可将 markdown 文件转换为完整的网站。站点配置在 `_config.yml` 中定义,该文件指定了主题、导航结构和内容包含规则。

站点元数据和主题

Jekyll 配置确立了基本的站点属性和视觉外观

该站点使用 jekyll/minima 远程主题,在特定的提交哈希 [7d91bb5] 下,确保了跨部署的一致性样式。 auto 皮肤设置允许根据用户偏好自动切换浅色/深色模式。

Jekyll 站点结构

来源:_config.yml1-4

站点导航被明确配置为在主菜单中包含特定页面

`_config.yml5-7 中的 nav_pages 数组定义了哪些 markdown 文件会出现在站点导航菜单中。目前配置的页面是

  • FAQ.md - 常见问题解答
  • HELP.md - 支持和社区资源

内容包含规则

Jekyll 的默认行为会排除某些文件不进行站点生成。 include 指令会覆盖此规则,以包含特定文件

`_config.yml8 中的 include 数组强制 Jekyll 处理 CONTRIBUTING.md,尽管它通常因 GitHub 的特殊文件名约定而被排除。

内容处理流程

来源:_config.yml5-8

域名配置

OSSU 网站通过 GitHub Pages 自定义域名配置,托管在自定义域名 cs.ossu.dev 上。

CNAME 文件

自定义域名通过仓库根目录中的 CNAME 文件进行配置

包含单个指定自定义域名 cs.ossu.dev`CNAME` 文件包含一行指定自定义域名 cs.ossu.dev。该文件指示 GitHub Pages 在此域名下提供站点,而不是使用默认的 username.github.io 格式。

域名解析过程

来源:CNAME1

站点生成过程

网站生成遵循 GitHub Pages 的自动化 Jekyll 构建过程

  1. 仓库更改:当提交推送到主分支时,GitHub Pages 会检测到更改
  2. Jekyll 构建:GitHub 的 Jekyll 服务读取 `_config.yml` 并处理所有 markdown 文件
  3. 主题应用jekyll/minima 远程主题被应用以生成带样式的 HTML
  4. 导航生成:列在 nav_pages 中的页面会被添加到站点导航中
  5. 内容处理:所有 markdown 文件,包括 include 中的文件,都会被转换为 HTML
  6. 域名托管:生成的站点将托管在 `CNAME` 中指定的域名。

完整的站点架构

来源:_config.yml1-9 CNAME1

配置依赖

网站配置的外部依赖最少

组件依赖项版本/提交目的
Jekyll 主题jekyll/minima7d91bb5站点样式和布局
GitHub PagesGitHub 的 Jekyll 服务最新版站点生成和托管
自定义域名DNS 配置不适用域名解析到 GitHub Pages

固定的主题提交哈希确保了样式的一致性,不受 minima 主题仓库上游变更的影响。

来源:_config.yml2 CNAME1