使用 Vercel + Notion 搭建低成本博客
起因
都快 2022 年了,我为什么想弄个博客站点,主要原因是:
- 个人特别喜欢 Notion 这款笔记软件,日常深度使用记录输入,想找个地方写写个人思考作为输出。
- 将博客作为新时代 Web 技术的实验田,新技术实际是不断降本增效的过程。
成效
现在的博客基本达到了我的一些需求
- 💰低成本:仅需要付一个域名的钱!
- 🚀快:所有的读都在全球 CDN 上,保证了国内外都可访问,且免备案免运维
- 📝写:所见即所得,内容写在 Notion 上,保存后站点立马更新,不需发布
- 👨🏻💻定制:只要会前端基础、结合 BaaS 服务就可以自由定制一些功能(Dark mode、评论等)
下面来看下 https://rustc.cloud/ 博客站点是如何搭建的。
步骤
选型
首先选择了 Notion 作为内容生产后,就需要找一个基于 Notion 的博客系统,将内容渲染成站点,这里我比较喜欢 nobelium 这种简约而不简单的风格。
Fork 后加了几个小功能
- Dark mode 切换
- 每晚凌晨定时更新站点 html 内容(优化 SEO)
虽然站点内容是实时更新的,但 html 的更新依赖博客重新部署
内容
- 将模板设置为 Public,这样可以被博客系统读取到
- 然后就可以自由在 Notion 里写文章了
部署
- 登录 Vercel,对 Github 进行授权,部署刚刚 Fork 的 repo
- 在环境变量(Environment Variables)处,填
NOTION_PAGE_ID
,值就是 Notion 那个模板对应的 pageId
- 点击 Deploy 部署,之后就可以看到 Vercel 分配的临时链接
域名绑定
Vercel 的 Project Settings 处设置自己买的域名(这里我的是 rustc.cloud)
CDN 国内加速
域名绑定后,就需要解析域名到 Vercel 服务器了,这里为了加快国内访问,域名 DNS 服务器设置成 Cloudflare ,利用 Cloudflare 代理到 Vercel。
- 在 Cloudflare 添加域名,选择 Free 免费方案(白嫖党必备 😂)
- 回到域名(我用的 阿里云),不需要设置 DNS 解析,只需要设置 DNS 服务器
- DNS 添加 CNAME 记录,内容为
cname-china.vercel-dns.com
(cname.vercel-dns.com)
- SSL/TLS 里设置为『完全』,且关闭『始终使用 HTTPS』
- 添加两个页面规则,具体改成自己的域名
等待 DNS 缓存刷新,访问就大功告成了!国内速度嘛,测了下还行。
常见问题
Edge 浏览器不显示图片
avif/webp 文件格式在 Edge 显示有问题,解法: