前言

发现自己整整一周没有写文档了,于是决定在这周结束前,将自己这一周主要干的事,没错,就是又尝试了一遍从零自建博客,花点时间记录下来

建博客的初衷就是希望自己能多看看书、看看影视作品,也多写一些文档,沉淀一些知识

虽然自建博客的大部分时间都花在 ui 设计,以及博客页面逻辑的设计上,但与之相反,这篇文章应该会更注重如何部署以及优选的一些配置上,正好能补充自己在这方面匮乏的知识

当然,这次搭建也有鲜明的时代性:重前端的应用目前已经可以不写代码做到很好了,偶尔几个点可能懂一点前端布局会快一点

所以这次依旧是零代码搭建,很符合大 vibe 时代的特征了

技术栈的选择

  • stitch 设计前端大概的 ui
  • astro 作为博客引擎
  • codex 作为 vibe 工具
  • netlify vercel 做博客托管 (netlify 额度也太少了一天就搞完了)
  • IP 优选 提升了访问速度

UI 设计

stitch

我想要一个简约黑白风格可以切换暗黑和亮色风格的博客,模仿微信布局,最顶上是横着的大图片,图片下方左侧是我的头像,个性签名,github账号,About,在下方就是各种文章栏目,暂且分为 All、Articles、Books、Shows and Movies四部分,点击某个栏目右侧的文章列表就是对应分类从新到旧的文章卡片,卡片上可以放置图片,但至少有标题摘要时间字数,最下面有换页,文章列表右侧有当前大分类(四个类别)下的所有tags可以筛选,点击就筛选中间文章区的文章,点击文章卡片跳转至文章阅读界面,顶部头图不变,有一个<- back to the list 按钮,剩下就是展示的文章内容一直可以向下滑右侧有mardown的目录可以跳转到对应位置,后面引擎我应该用 astro

这是我最初的 prompt 算是有一个大概布局的模糊想法,当然美术感觉是一点没有的全靠 gemini 自己的想象

后续也是在和 ai 的交互中有了一个风格布局上较为满意的 ui

当然 stitch 似乎可以选中某个组件单独修改会精准一点,但是我没仔细研究,直接描述有时确实会改错东西

不过最终结果还算满意

stitch 设计稿 stitch 设计稿

astro

为什么选择 astro?即答:ai 推荐的。其实就是一个利好于内容展示平台的前端引擎,我将 stitch 中的设计(应该是纯 html)导出到了本地的文件夹里,然后将 astro 的文档链接丢给 codex 让它使用 astro 作为博客引擎迁移这个前端设计就 ok 了

接下来就是和 codex 拉扯让它改出我想要的设计以及交互逻辑,刚迁移好的项目是一个纯静态的前端,大部分逻辑 codex 都可以一次成功,不过要是描述中越详细,可以定位到工程细节,那么成功率确实大大提高

前端托管 + IP 优选

Vercel、Netlify 等都有免费网页托管服务,但是很多 IP 中国大陆访问的速度过慢,优选 IP 解决的问题就是将DNS 解析到好的 IP 上,我最后选择的是 Vercel (Netlify 怎么一下子就到限额了(恼))

原理

如果你在阿里云上买的域名,那么在域名管理这里最终应该类似于下面这样:

DNS 解析配置

所谓 DNS 解析就是当你访问一个域名时,浏览器得知道域名背后的实际服务器 IP 地址是什么

记录类型 A 就代表地址记录,直接指向 IPv4 这里是因为根域名一般只能指向 IP 地址,所以 Vercel 给了一个 IP 地址,删掉 A 记录并不影响 CNAME 这些域名的访问,因为他们走的完全不是一条链路

前者是:直接解析到 216.198.79.1 这个官方给的地址

后者是:域名 -> 优选域名 -> 别人整理好的动态优选 IP -> Vercel 服务器

优选 IP 测速对比 优选 IP 测速对比

测速还是有一些区别的

Vercel 上线配置

  • 找到官方文档关于配置 Vercel 的教程,丢给 codex 让它生成相应文件,可以配置推送即重新构建、
  • 推送到 Github 仓库上,在 Vercel 里链接这个仓库,等它构建好
  • 再在 Domains 里面添加自己的域名,将 vercel 提供的 A 记录地址和 CNAME 地址在购买域名的服务商的管理页面配置好
  • 然后确定等 Vercel 生成 SSL 证书,再将 CNAME 的地址改为优选的网址

结语

这样你就获得了 Vibe coding 时代零代码构建的完全自定义个人博客

欢迎来玩

Blog | whyself

博客首页截图