文章

从零部署我的 Jekyll 博客

从零部署我的 Jekyll 博客

这篇文章记录这个博客从主题选择、环境安装,到 GitHub Pages 部署、域名绑定和日常更新的全过程。

参考主题与仓库

Chirpy 是一个基于 Jekyll 的静态博客主题。文章使用 Markdown 编写,构建后生成 HTML、CSS 和 JavaScript,不需要数据库或后端服务器。

项目结构

1
2
3
4
5
6
7
8
9
ypj_blog/
├── _config.yml                 # 站点、作者、域名和评论配置
├── _posts/                     # Markdown 文章
├── _tabs/about.md              # 关于页面
├── _data/contact.yml           # GitHub 和邮箱入口
├── _data/locales/zh-CN.yml     # 中文界面文字
├── assets/                     # 图片和静态资源
├── .github/workflows/          # GitHub Pages 自动部署
└── CNAME                       # 自定义域名

本地环境

本博客使用 Ruby 3.3、Bundler、Jekyll 和 Node.js 构建资源:

1
2
3
4
5
6
cd ypj_blog
source tools/use-local-ruby.sh
bundle install
npm install
npm run build
bundle exec jekyll serve --livereload

打开 http://127.0.0.1:4000,修改文章后页面会自动刷新。

站点配置

在 _config.yml 中填写博客信息。

部署到 GitHub Pages

在 GitHub 创建公开仓库。

仓库中已有 .github/workflows/pages-deploy.yml。进入 Settings → Pages,将部署来源设置为 GitHub Actions。每次推送到 main 后,GitHub Actions 会自动安装依赖、构建 Jekyll 网站并发布。

绑定自定义域名

项目根目录的 CNAME 文件内容为:

1
ypj0.xyz

在 DNS 控制台添加四条 A 记录:

1
2
3
4
@  A  185.199.108.153
@  A  185.199.109.153
@  A  185.199.110.153
@  A  185.199.111.153

如需使用 www.ypj0.xyz,再添加:

1
www  CNAME  ypj0.github.io

DNS 生效后,在 GitHub 的 Settings → Pages → Custom domain 中填写 ypj0.xyz,等待证书签发后开启 Enforce HTTPS。

GitHub 评论

博客使用 Utterances,读者通过 GitHub 账号登录,评论保存在博客仓库的 Issues 中:

1
2
3
4
5
comments:
  provider: utterances
  utterances:
    repo: ypj0/ypj_blog
    issue_term: pathname

使用前需要安装 Utterances App,授权访问 ypj0/ypj_blog,并开启仓库的 Issues 功能。

新增文章

在 _posts/ 下创建 YYYY-MM-DD-title.md 文件:

1
2
3
4
5
6
7
8
---
title: 我的新文章
date: 2026-09-27 20:00:00 +0800
categories: [技术]
tags: [学习]
---

这里写文章正文。

更新博客

本地预览确认无误后提交:

1
2
3
4
5
6
7
cd ypj_blog
source tools/use-local-ruby.sh
bundle exec jekyll serve --livereload

git add .
git commit -m "feat: add a new post"
git push

GitHub Actions 会自动部署新版本,可以在 Actions → Deploy Blog 查看状态。

修改关于页面编辑 _tabs/about.md;修改站点名称、域名、头像、邮箱或评论编辑 _config.yml。不要直接修改 _site/,它是 Jekyll 自动生成的目录。

本文由作者按照 CC BY 4.0 进行授权