关于本站

这一页记录这个博客是怎么搭起来的、用了哪些东西,方便自己以后回看,也方便想搭同款的朋友参考。

整体流程

本地用 Hexo 写 Markdown → 推送到 GitHub → Cloudflare Pages 自动拉取、构建、发布到全球 CDN。整个过程不需要服务器,也不用自己管证书。

技术选型

部分 选择 说明
静态站点生成 Hexo 8 生态成熟,Markdown 写作
主题 Linen npm 安装,极简排版风格
包管理 pnpm 锁版本,构建快
源码托管 GitHub 私有仓库 草稿和历史都不公开
构建发布 Cloudflare Pages 推送到 main 自动发布
持续集成 GitHub Actions 每次推送做一次构建校验
域名 托管在 Cloudflare 自带 HTTPS 与 www 跳转

搭建步骤

1. 本地初始化

1
2
pnpm install
pnpm add hexo-theme-linen

站点配置写在 _config.yml,主题配置写在 _config.linen.yml——分开的好处是升级主题不会覆盖自己的设置。

2. 推到 GitHub

建一个仓库(可以是私有),把源码推上去。只提交源码,public/、node_modules/、db.json 都在 .gitignore 里。

3. 接入 Cloudflare Pages

在 Cloudflare 后台选 Workers & Pages → 创建 → Pages → 连接 Git 仓库,构建配置填:

设置 值
生产分支 main
构建命令 pnpm run build
输出目录 public

之后每次 git push,Cloudflare 会自动构建并发布,通常一两分钟生效。

4. 绑定自己的域名

在 Pages 项目的「自定义域」里加入主域名和 www。Cloudflare 会自动加好解析记录;再用一条重定向规则把 www 301 跳到主域名,避免搜索引擎把两个地址当成两份内容。

5. 配一个站点邮箱

用 Cloudflare 的邮件路由(免费):添加 MX、SPF、DKIM 记录,再建一条规则,把 [email protected] 转发到常用邮箱。它只负责收信转发;想用这个地址主动发信,需要在邮箱客户端里配置「发件人」。

这个站做了哪些定制

明暗主题

默认跟随系统的浅色/深色设置,顶栏最右侧的按钮可以在「跟随系统 → 浅色 → 深色」之间切换,选择记在浏览器本地。深色配色是额外写的样式表,没有改动主题源码。

封面与图片

文章封面用 cover 字段指定,首页顶部的大图和列表里的小缩略图用的是同一张。正文图片默认懒加载,点击可放大;多图可以按横排、竖排或混排比例排版。

RSS 与 404

右上角图标和页脚的「订阅」都指向 /feed.xml。站内不存在的地址会返回一个正经的 404 页面,而不是悄悄显示首页。

日常怎么写文章

1
2
3
npx hexo new "文章标题"   # 新建
pnpm run server # 本地预览 http://localhost:4000
git add . && git commit -m "发布:文章标题" && git push

还没写完的文章放在 source/_drafts/,不会被构建,线上也就看不到。

费用

Cloudflare Pages、邮件路由和 GitHub 私有仓库都在免费额度内,唯一的固定支出是域名年费。

联系方式

有想聊的,欢迎来 GitHub 找我,或者发邮件到 [email protected]。