• 首页
  • 分类
  • 归档
  • 作品
  • 关于

我的博客历程

我为什么要搭建一个自己的博客,可能与大多数人的想法一致,在庞大的网络世界拥有一个自留地,写一些自己热爱的文字。那么我为什么又搭建了三次?

在第一次搭建博客的时候,我抱着充分发挥自身技术的想法,投入了进去。在第一版博客中,我用到了

  1. NextJs的SSR与CSR混合渲染;包含服务端渲染的展示页面与客户端渲染的管理台页面。

  2. 利用NextJs的App路由模式下/api写后端接口;

  3. 利用SQLite与Prisma做数据支撑

  4. 调用开源的网易云接口做音乐播放

之后根据开发过程写了一系列的文章。

但之后我就发现了问题,首先它不支持响应式与主题切换,其次第一版的博客使用的是将markdown以字符串的形式传到数据库,由数据库存储。但是使用markdown编辑器与本地在一些格式上会产生冲突,每次写完都需要调整格式;第三,因为加入了封面,为了统一性,我想发布文章还需要提前做一个封面;第四,每次部署极其麻烦。

在第二版我根据这些痛点进行改善。不过我并没有实现响应式,在样式部分,我还是使用了SASS作为预处理器。想要实现响应式必须用到媒体查询。能适配所有屏幕可能需要三到四套样式,所以我用了两套代码的方式,PC一套移动端一套。

第一点提升是数据库使用了更加流行的postgreSQL;第二点提升是支持直接上传md文件,通过nodejs转换成可以识别的mdx,由Nextjs直接渲染。第三点是我使用canvas根据标题能生成类似小红书的文字封面,这里多谢AI的帮助。

到这里其实和我理想中的博客已经无限接近了。但忙碌的工作打断了我。第二版做到80%,被迫结束了。

7月中旬,我开始重新思考,我为什么要搭建博客。一方面,我希望通过写文章的方式能让自己的技术有所提升,另一方面希望我可以将我的技术以内容的方式输出出去。我开始意识到我更应该去打磨我输出的内容 。至于博客网站,我应该让博客的本质回归到阅读,而不是我的技术展示。

上周,我开始在工作之余着手实现,这次我使用纯静态的方式进行渲染。使用markdown的frontmatter进行管理,完全不依赖后端。我开始学习如何使用tailwind,不得不说,在这方面我踩了很多坑。网站风格借鉴了tailwind中推荐的博客模版(它定价太贵了,熟练情况自己写就两天的工作量)。部署搭建使用了vercel。

现在,我只需要将写好的文章放到代码中,之后push到github,一分钟以后,我就能通过访问我的域名看见它。