---
title: 弃用 WordPress 了，但我相当“后悔”
slug: switch-blog-to-nextjs
date: 2024-04-07 16:09:09
updated: 2024-04-14 00:07:00
tags:
  - 博客
category: 编程
summary: 如你所见，当你访问这篇文章的时候，我已经把写了 13 年的博客程序从 WordPress 迁移到了自己用 Next.js 写的程序，这可能是我第 N 次尝试使用其他的方式写博客，但我想绝对不会是最后一次。
cover: /images/2024/04/2024040719182310.jpg
---

![あんよ - crossroads](/images/2024/04/2024040719182344.jpg)

如你所见，当你访问这篇文章的时候，我已经把写了 13 年的博客程序从 WordPress 迁移到了自己用 Next.js 写的程序。这可能是我第 N 次尝试使用其他的方式写博客，但我想绝对不会是最后一次。

第一次接触类博客的平台还是 20 年前，初一同学在课间说道：“我开通了 QQ 空间，快去给我踩一踩。”正儿八经地写作，还要追溯到 15 年前，那时的我是那么的多愁善感，什么东西都想要“为赋新词强说愁”。我的足迹遍布各类 SNS 平台，在上面书写各种现在看来相当幼稚的话语。

因为专业的原因，在大学期间接触到了独立博客和 WordPress，当时的我就被这种独立而又个性的写作方式惊到了。那时还属于独立博客的黄金年代，QQ 雷锋群里群英荟萃，我那孱弱的前端知识就是通过此类途径习得。而我没想到的是，[当初的开博宣言](/the-beginning-of-blog)竟然一写就是 13 年。

年龄真是个好东西，因为其增长，我们能不断地丰富自己的阅历，也能见证所谓的“历史”。兜兜转转，写博客的人来来去去。有些相识数载至今还是好友，有些已经消失再无音讯。而我，对这 WordPress 也是又爱又恨，这期间换过太多的平台。有简单的 Hexo、Hugo，也有同样基于 LAMP 平台的 Typecho、Emlog、Z-Blog，还有之前很时髦的 Ghost。很多文章评论都放在了多说、Disqus 上，因为这来来回回的“搬迁”遗失大半。到头来，竟然还是这 WordPress 最好用，如同家里的“黄脸婆”，阅尽世间百态，才发现老婆是真爱。虽然至今还是不会写 WordPress 主题，但好在漂亮的主题数不胜数，凭着钞能力也能基本解决。

但，我还不甘心。

这十几年来前端风起云涌，每天都有新的东西诞生。13 年前博客用个 jQuery 就很了不起了，很多页面还使用表格布局，为了 IE6 要写一堆 Hack，那个时候声称不兼容 IE 的网站都属于“珍惜动物”。而如今 IE 早已不复存在，继任者 Edge 也把自己变成了 Chrome 的模样。前端相关的框架更是层出不穷，光打包工具我就完完整整地经历了 Grunt、Gulp、Webpack、Rollup、Vite、SWC 等，更别提其他的了。在这些技术的背景下，我这基于 jQuery 的 WordPress 就显得稍微有点 old school 了。

上周和 Tison 聊天，发现他正好准备基于 Astro 弄个[新的博客](https://github.com/tisonkun/dacapo)。沉眠于心中多年的想法终于浮起，既然用了这么多博客平台都不满意，为何不能自己写一个。Next.js 这么时髦，其 App Router 还能用最新的 React Server Component，我都眼馋很久了。于是说干就干，趁着正好清明放假，我把几乎所有的时间都投入在了这一“浩大”的造博运动中。

## Logo 设计

![Blog Logo](/images/2024/04/2024040719297778.jpg)

对我而言，技术牛逼与否并不是最重要的，最重要的是颜值。如果不好看，那就直接 pass。所以还没写博客，第一步，我就在考虑重新设计自己的博客 logo。对于之前用的 logo，其实问题并不大，主要的问题是矢量化。绘制这个 logo 的时候还是 6 年前，像素被限制在了 65px，在 PSD 底稿和对应字体都丢失的当下，想要放大适应视网膜屏幕等就显得有些困难。于是我借着这个机会，学习使用 [sketch](https://sketch.com) 来绘制矢量图形。这当中最大的绘制难点就是 logo 中那两个不规则的半圆环，我画了两个圆去叠加，然后合并后一点点拖拽曲线。才调整到和以前相思的形状。

绘制“帆”字的时候已经稍微熟悉，就直接使用钢笔工具一个个锚点描边，再稍微调整曲线就好，但是没想到还是在和圆环合并上栽了大跟头。弄了半天才发现是路径曲线的闭合问题，这其中的曲折大概就像是以前在微博上看到的[这张长图](/images/2024/04/2024040719234718.jpg)所描绘的景象。不过万幸的是，最终圆满地达成了我想要的效果。

在绘制 logo 的同时，我也一并绘制了黑白两种形态，为日后主题支持黑白模式准备，同时也绘制了 Github Poster 放在 `README.md` 上用于展示。这当中最有意思的事情，就是对以膨胀色与收缩色的概念的复习。以前自学设计的时候，觉得这东西很抽象。这次设计黑色 logo 的时候，发现明明是同样的大小，但是黑色的 logo 在屏幕上就是显得大上一圈。我不得不微调曲线，向内收缩一圈才在视觉的保持了 logo 的大小一致，相当有趣。

## 字体使用

![OPPO Sans](/images/2024/04/2024040719182210.jpg)

字体选择上分为博客正文字体和图片字体。以前并不懂版权，不知道字体很多是需要授权才能在一些公开媒介上使用的，这次特意选择了商业免费可用的字体。

正文字体使用的是 [OPPO Sans 3.0](https://www.coloros.com/article/A00000050/)，5 年前在字谈字畅的 [PodCasts](https://thetype.com/typechat/ep-113/) 得知此字体的公布，当即就喜欢上了。虽然和阿里普惠体、微软雅黑体等一众“汉仪兄弟们”师出同门，但是其变化是最讨喜的。它去掉了自冬青黑体时代就有的大喇叭口，字形更加方正，在笔画转弯处也更加刚正。其家族字体设计更多的是为传统非视网膜屏幕服务，所以夸张的笔锋搭配上抗锯齿就能有较好的观感。这种设计，放在当今连手机都是视网膜屏幕的年代，就显得很难看。所以 OPPO Sans 的设计，在当下很长一段时间，将成为我的首选字体。

Logo 部分的字体，主要是基于 [M+A1](https://booth.pm/ja/items/2347968) 进行制作。虽然此字体是日本人制作，但是不同于在日本起绝对统治地位的明朝体，此字体是一款明朗的黑体，而且同时免费提供了多种粗细字型，简直感动到哭。最有意思的就是细款字形的笔画末端都有一定的隆起，结合之前学习到的[光陷阱](https://www.thetype.com/2021/06/21723/)，想必此款字体在打印机下也能有极好的显示效果。

## 技术选型

技术选型上这次有点激进，相比已经成熟很好用的 VitePress 等动静结合的生成工具，我义无反顾地选用了 Next.js 的 App Router，运行环境选用了更快的 Bun。至于其他方面，基本是照着 [leerob](https://leerob.io) 的博客进行仿写。所以文章格式不再是常见的 Markdown，而是能插入动态内容的 MDX。对于历史的评论，我还是舍不得丢弃，毕竟有 3000 多条。所以再三对比之下，我选择使用 [Artalk](https://artalk.js.org) 进行存储。有了多说的经历后，我也不敢使用任何第三方的 SaaS 服务存储评论，毕竟数据在自己手里才最安全。

博客以前最喜欢的音乐播放器是 Hermit-X，对应的作者荒野无灯已经神隐很久，获取网易音乐信息的 [Meting API](https://github.com/metowolf/Meting) 也没持续更新。而 APlayer 更是不知道 [DIYgod](https://diygod.cc) 什么时候能来“扫墓”，上次 APlayer 的诈尸还只是更新了个 License。所以在新博客环境只有 [Aplayer React](https://aplayer-react.js.org) 这个名为 APlayer 实则是借着其样式用 React 完全重写的播放器可用，其在 RSC 下有点小问题，但估计短时间内作者也没时间修复。（谁叫我是前端菜鸟呢）

MDX 一开始是手动使用 `fs` 加载，使用 `grey-matter` 解析 `matter` 后再用 `next-mdx-remote` 渲染。但是鉴于自己太菜，很多页面的渲染都需要全量读取博文解析。后面改成了[推友推荐](https://twitter.com/ilovek8s/status/1776809454790676827)的 `contentlayer` 先渲染静态化，再进行加载。但瞅着 `contentlayer` 这半死不活的状态，未来大概率还是要弃。😭

## Update 2024/04/14

没错，一周后我又来屁颠屁颠地更新博客啦，一周过去后，我的博客也发生了不少变化。首先是搜索终于支持了，使用的是 fuse.js。前文提到的 Contentlayer 也被我废弃，换成了更好用的 Velite。

----

写此文章前，本有一肚子关于清明三天折腾的坎坷想要倾诉。真正写下来的时候，却又没多少。一来是年龄的增长，很多东西不再像以前那么过激。二来，大部分问题基本解决。数数上次更新博客的时间，已经不知道是猴年马月。希望自己在未来的年月里，能笔耕不辍，多记录一点自己的生活。

至于博客载体，那都是浮云啦。

![mocha@新刊委託中 - 親愛なるあなたへ](/images/2024/04/2024040719244778.jpg)
