GitHub Pages

使用 GitHub Pages,免费搭建个人网站或博客。

这是一个交互式课程,需要在 GitHub 上实际操作来完成学习。本页面为静态预览,仅方便您一次性阅读所有步骤内容。

前往 GitHub 开始学习 →

📖课程概览

English | 中文

本课程翻译自 Github Skills,全部课程请点击 这里查看

GitHub Pages

使用 GitHub Pages,免费搭建个人网站或博客。

欢迎

  • 适合人群: 新手,学生,项目维护者,小微企业
  • 学习内容: 如何搭建并发布一个 GitHub Pages 网站。
  • 您将完成:创建一个带博客功能的 GitHub Pages 网站。课程中会使用静态网站生成器 Jekyll
  • 先决条件:如果你还不熟悉分支(Branch)、提交(Commit)和拉取请求(Pull Request),建议先学习 GitHub 入门课程
  • 学习时长:不到一小时。

在本课程中,你将完成以下任务:

  1. 启用 GitHub Pages
  2. 配置你的网站
  3. 自定义网站首页
  4. 发表一篇博客文章
  5. 合并您的 Pull Request

如何开始课程

点击下方的 COPY EXERCISE 按钮,将练习代码复制到你的账号下。 仓库创建完毕后,请给你亲爱的小猫咪(Mona,GitHub吉祥物)约20秒时间来你准备第一节课内容,然后刷新页面即可。

遇到问题? 🤷

在复制仓库时,我们建议使用以下设置:

  • 仓库名称、描述这些字段系统已经帮我们自动填充好了,您可以按需修改。
  • 建议选择公开仓库,因为私有仓库有GitHub Actions 分钟数限制

如果等待20秒后,页面没有变化, 请检测 Actions tab。

  • 查看是否有作业(job)正在运行,有时可能需要更长时间。
  • 如果页面显示作业失败,请提交 issue。太好了,你发现了一个 Bug!🐛

© 2025 GitHub • Code of ConductMIT License

🎯课程步骤

GitHub

步骤 1: 启用 GitHub Pages

📖 理论: 什么是 GitHub Pages?

GitHub Pages 可以将你的 GitHub 仓库直接发布成一个网站。无论是项目展示页、个人简历、作品集、技术文档,还是个人博客,都可以通过它快速对外发布。

启用 GitHub Pages 后,GitHub 会自动读取 main 分支中的内容,并根据仓库文件生成一个可访问的网站。

[!NOTE] 更多内容可参考 GitHub Pages 官方文档

⌨️ 实操环节: 启用 GitHub Pages

  1. 建议将当前仓库在新的浏览器标签页中打开,方便一边阅读教程,一边实际操作。
  2. 在仓库名称下方,点击 Settings
  3. Code and automation 区域点击 Pages
  4. Source 下拉菜单中,确认选择的是 Deploy from a branch(从分支部署)
  5. 点击 Save 保存按钮。
  6. 成功启用 GitHub Pages 后,Mona 会自动为你准备下一步练习内容。
遇到问题? 🤷
  • 开启 GitHub Pages 后,GitHub 会自动创建一次部署(Deployment)。第一次部署通常需要等待约 1 分钟左右,GitHub Actions 才会开始响应。后续步骤通常只需要约 20 秒,因此第一步会相对慢一些,属于正常现象。
GitHub

步骤 2: 自定义你的主页

干得不错!你已经成功启用了 GitHub Pages 🎉

你可以在仓库设置中 Pages 区域顶部看到你网站的访问链接(如果没有显示,刷新一下页面即可)。

[!TIP] 建议你把你的 GitHub Pages 网站 在单独一个浏览器标签页中打开,保持常驻。

在后续操作中,你的每一次修改都会实时更新到网站上。

📖 理论: 如何定制主页

index.md 是网站的入口文件,只要你修改并提交这个文件到 main 分支,GitHub Pages 就会自动重新构建网站,并更新首页内容。

⌨️ 实操环节: 创建你的主页

  1. 进入仓库中的 index.md 文件(确保在 main 分支下)。
  2. 在右上角,打开文件编辑器。
  3. 在文件中写入你想展示在主页的内容,可以使用 Markdown 语法进行排版(标题、列表、链接等都支持)。
  4. (可选)你也可以修改 title: 字段,或者保持默认设置。
  5. 将更改提交(Commit)到 main 分支。
  6. 提交成功后,Mona 会自动为你准备下一步练习内容。
遇到问题了? 🤷
  • 请确认你修改的是 main 分支中的 index.md 文件。
GitHub

步骤 3: 配置你的网站

干得漂亮!你的首页已经更新完成 ✨

接下来,我们为网站添加一些配置,让它看起来更美观。

📖 理论: Jekyll 与 _config.yml

Jekyll 使用一个名为 _config.yml 的配置文件,统一管理网站设置。 例如:网站主题、标题、作者信息、网站描述、GitHub 用户名等。这些内容都会影响 GitHub Pages 最终生成的网站效果。具体可参考Jekyll 官方文档

本次练习中,我们将使用一个适合博客场景的主题:minima

⌨️ 实操环节: 配置网站

  1. 打开 main 分支下的 _config.yml 文件。

  2. 点击右上角的编辑按钮,进入文件编辑模式。

  3. 添加下面这行配置,为网站启用 minima 主题:

    theme: minima
    
  4. (可选)你还可以修改其他配置项,例如 title:, author:, description:

    示例
    theme: minima
    title: {{ login }} 的个人博客
    description: 在这里记录我的学习、项目与生活
    author: {{ login }}
    
  5. 提交修改到 main 分支。

  6. 提交完成后,Mona 会继续为你准备下一步练习内容。

Hav遇到问题? 🤷
  • 确认你正在编辑 main 分支下的 _config.yml 文件。
  • 请仔细检查 YAML 格式。注意缩进和冒号!
GitHub

步骤 4: 发布第一篇博客文章

你的首页现在看起来不错! 🤠

📖 理论: Jekyll 博客文章与 Front Matter

在 Jekyll 中,文章需要遵循特定的文件命名规则,系统才能正确识别并生成文章页面。文件必须以 _posts/YYYY-MM-DD-title.md 命名,并且必须在 front matter 中包含 titledate 字段。

什么是 Front matter:Jekyll 要求在每篇文章顶部包含一段特殊配置,称为 Front Matter(头部配置)。它本质上是一段 YAML 配置,用于告诉 Jekyll:文章标题、发布时间,以及页面布局等信息。

示例如下:

---
title: "Welcome to my blog"
date: 2025-05-15
---

[!NOTE] 更多内容可参考 Jekyll frontmatter 文档.

⌨️ 实操环节: 创建博客文章

  1. 切换到仓库的 main 分支。

  2. 点击 Add file(添加文件) 下拉菜单,然后选择 Create new file(创建新文件)

  3. 按照 _posts/YYYY-MM-DD-title.md 的格式创建文件。

  4. YYYY-MM-DD 替换为今天的日期,并根据需要修改文章标题。

    修改标题时请注意,单词之间用短横线(-)连接。 如果日期格式不正确,Jekyll 将无法构建网站,并提示错误。更多说明可参考 Page build failed: Invalid post date

  5. 在文章顶部添加以下内容

    ---
    title: "YOUR-TITLE"
    date: YYYY-MM-DD
    ---
    
    1. YOUR-TITLE 替换为你的文章标题
    2. YYYY-MM-DD 替换为今天的日期
  6. 在下面写一点博客正文内容。不需要写很多,简单记录几句话即可,后续随时都可以继续修改。

  7. 提交修改到 main 分支。

  8. 提交完成后,Mona 会自动为你准备下一步练习。

遇到问题? 🤷
  • Double-check your file name and date format.
  • Make sure your frontmatter is at the very top of the file and formatted correctly.
GitHub

课程总结

恭喜你完成本次练习!你已经掌握了 GitHub Pages 与 Jekyll 的基础使用方法。

celebrate

本次练习中,你完成了以下内容:

  • 成功启用了 GitHub Pages
  • 通过配置文件为网站设置了主题
  • 了解了 Jekyll 的目录结构与文件命名规范
  • 使用 Jekyll 与 GitHub Pages 发布了你的第一篇博客文章

接下来可以做什么?

关于 GitHub Skills

GitHub Skills 是 GitHub 官方提供的交互式学习平台。 原始课程需要在 GitHub 上执行操作,通过 GitHub Actions 自动检测进度。

本页面将所有步骤展示在一个页面中,方便您一次性阅读全部内容。

前往 GitHub 实操练习