关于本站
这一页记录这个博客是怎么搭起来的、用了哪些东西,方便自己以后回看,也方便想搭同款的朋友参考。
整体流程
本地用 Hexo 写 Markdown → 推送到 GitHub → Cloudflare Pages 自动拉取、构建、发布到全球 CDN。整个过程不需要服务器,也不用自己管证书。
技术选型
| 部分 | 选择 | 说明 |
|---|---|---|
| 静态站点生成 | Hexo 8 | 生态成熟,Markdown 写作 |
| 主题 | Linen | npm 安装,极简排版风格 |
| 包管理 | pnpm | 锁版本,构建快 |
| 源码托管 | GitHub 私有仓库 | 草稿和历史都不公开 |
| 构建发布 | Cloudflare Pages | 推送到 main 自动发布 |
| 持续集成 | GitHub Actions | 每次推送做一次构建校验 |
| 域名 | 托管在 Cloudflare | 自带 HTTPS 与 www 跳转 |
搭建步骤
1. 本地初始化
1 | pnpm install |
站点配置写在 _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 | npx hexo new "文章标题" # 新建 |
还没写完的文章放在 source/_drafts/,不会被构建,线上也就看不到。
费用
Cloudflare Pages、邮件路由和 GitHub 私有仓库都在免费额度内,唯一的固定支出是域名年费。
联系方式
有想聊的,欢迎来 GitHub 找我,或者发邮件到 [email protected]。