是的,我又回到动态博客了。

回顾一下博客的变更记录,上一次折腾已经是去年七月份的事了。因为 VPS 配置太低的缘故,从 WordPress 换到了 Hugo,静态博客确实很快,对于某类人来说或许是完美的选择,但对我而言又有点过于简洁了。

没有搜索,需要自行配置,之前用的是 Algolia;没有评论,需要自行配置,之前用的是 Artalk;更换主题,需要重新修改 config.toml 文件;发布文章(GitHub Actions 自动发布)需要配置 Git 环境,有多台电脑时还是挺麻烦的。于是,这一切都成了我拖更的理由。

回到动态博客吧,我又开始在 WordPress 和 Typecho 之间纠结。之前有段时间看到文章说 WordPress 官方正考虑在 Core 中增加对 SQLite 的支持,这让我有点小兴奋,然而随着 WordPress 6.2 版本的发布,我感觉 WordPress 离传统的博客越来越远了。

从 WordPress 官网上发布的路线信息来看,第一阶段在 5.0 版本完成,第二阶段在 6.2 版本完成,从 2023 年开始三阶段的开发,也就是重点在实现协同编辑。

古腾堡项目的四个阶段

  1. 更轻松的编辑
  2. 自定义 — 全站编辑,块模式,块目录,块主题
  3. 协作 — 一种更直观的共同创作内容的方式
  4. 多语言 — 多语言网站的核心实现

WordPress 更加迎合企业或者团队的需求,个人用户的需求往往很难得到实现,比如众多博客平台都支持的 Markdown,在这里仍然只能通过第三方插件实现。

那么,排在第二的 Typecho 顺理成章成了我的首选。支持 SQLite,数据库简洁明了(只有 6 张表),方便迁移和备份;支持 Markdown,本地 Obsidian 上写的文章直接复制上去即可发布,省去排版的时间。

从静态博客迁移到 Typecho,最耗时的是文章和评论的整理,不像从 WordPress 迁移,可以直接在数据库层面操作。整体迁移过程大致分为以下几步:

  1. 在服务器上安装 Typecho,安装完成后将生成的数据文件下载到本地(我选的是 SQLite 数据库,单文件方便操作)
  2. 整理数据写入第 1 步的数据库中

    1. 整理本地的博客文章 Markdown 文件,获取到文章内容、分类、标签等信息(分类、标签从 Front Matter 中获取)
    2. 将上一步获得的信息分别写入数据库中的内容表(contents)、项目表(metas)
    3. 构建文章与分类、标签之间的关联关系,写入关系表(relationships)
    4. 整理原 Artalk 评论系统的评论数据,写入评论表(comments)
    5. 更新内容表中的 commentsNum 字段,项目表中的 count 字段,评论表中的 parent 字段
  3. 将本地的文章配图上传到服务器或图床
  4. 将本地的数据库文件上传到服务器替换初始生成的数据库

网上也没找到多么便捷的迁移方法,只好选择纯手工撸代码,好歹算是顺利完成迁移了。具体的操作细节及相关代码等有空的时候整理一下再分享出来。

新主题,落霞孤鹜字体看着还挺不错的。

标签: WordPress, Blog, Hugo, Typecho

仅有一条评论

  1. 各有优缺点 不会折腾程序 只能用现成的

添加新评论