Skip to content

Latest commit

 

History

History
61 lines (40 loc) · 4.53 KB

为什么换掉Wordpress.md

File metadata and controls

61 lines (40 loc) · 4.53 KB
title keyword
我为什么换掉Wordpress选择Docusaurus?
笔记
博客

为什么换掉 Wordpress?

在此之前,我一直使用 Wordpress 来做我的博客,最近准备重新开始写,为什么决定换掉它呢?

首先 Wordpress 很强大,完全符合我的所有需求:评论、统计、SEO、主题、插件等等,但是我还是决定换掉它,原因主要有以下几点:

  • 维护成本高:Wordpress 需要配置 PHP、Mysql、Nginx 等环境,而且插件、主题、Wordpress 本身都需要定期更新,这些都需要花费时间。我很久没有更新了,结果代码高亮插件出了问题,可能是兼容性问题,也可能是我自己的配置问题,并且后台总是能看到告警之类的信息,总之,我不想花时间去解决了。
  • 迁移成本高:在之前我换过好几次服务器环境,每次都需要重新配置环境,迁移数据库,迁移文件,这些都需要花费时间;虽然现在应该很少会迁移了。
  • 资源占用高:Wordpress 占用资源较高,虽然并没有对我产生什么压力,但是我还是希望能够用更少的资源来跑我的博客。
  • 编辑模式不友好:Wordpress 的编辑模式不够友好,虽然可以安装 Markdown 编辑器,但是我更喜欢使用本地的 Markdown 编辑器。

其实最主要的原因还是编辑模式的问题,我更喜欢使用本地的 Markdown 编辑器,然后通过 Git 来管理我的文章,这样我可以更方便的查看历史版本,也可以更方便的进行版本控制。

为什么选择了 Docuasaurus

在选择新的博客程序的时候我也考虑了很多,比如:Typecho、Hexo、VitePress、Hugo、docsify 等等。

我主要是从下面几个方面来考虑的,你也可以作为参考:

  • 界面美观
  • 本地 Markdown 编辑
  • SSG(静态站点生成)
  • 使用 git 管理文章

SSG 是希望能够生成静态站点,这样就不需要配置 PHP、Mysql、Nginx 等环境了,也不需要担心安全问题,而且可以更快速的访问。

然后就是 git 管理和本地 Markdown 编写,这样对于博客程序的选择影响就不会太大了,如果用得不喜欢可以很方便的切换,博客程序出了问题,使用 git 也可以很方便的回滚。

这么筛选下来,其实还是有很多选择的,Hexo 和 Hugo 都是很不错的,他们也是很流行的 BLOG 程序,并且有丰富的主题, 相反 VitePress、docsify、Docusaurus 它们更适合文档程序,主题相对较少,界面相对简洁。

但是我很快就否决的 Hexo 和 Hugo,因为他们的界面不够美观,我更喜欢简洁的界面,而且我也不需要那么多的主题,很多主题都比较花哨。 并且我看见了很多大佬也是用 VitePress、docsify、Docusaurus 来写博客的,构建出来的博客并不比它们查,我也很喜欢,只是如果想做好会很考验技术能力。

最开始其实是有些想使用 VitePress 的,和 Docuasaurus 的官网首页相比,我更喜欢 VitePress 的界面。 但是我主要是使用 React 进行开发的,然后看到了一些使用 Docuasaurus 的博客,他们都进行了一些定制,界面也是很不错的,于是我也就选择了 Docuasaurus,并且参考了他们的博客,写了一下我的首页。

如果没有开发能力的话,我还是很推荐使用 Hugo、Hexo 的,他们的主题很多,界面也很美观,而且也很流行,有很多人使用,遇到问题比较容易找到解决方案。

Docusaurus 的定制

Docusaurus 是有 blog 功能的,但是 blog 不能支持左侧的目录树,然后 docs 又不支持文章时间,于是我写了一个 docs 时间生成的插件。 两种方式其实也对应两种不同的逻辑,至于哪种好,我也不好说,我只是觉得我大多时候应该是写偏向文档类型的文章,所以我选择了 docs,这样可以更方便检索, 不过可能写一些生活感悟这些和时间相关的就会再选择 blog 吧。

然后 Docuasaurus 也只是一个静态站点生成器,不支持评论、统计等等功能,需要一些外部依赖来实现。我实现了两个新的插件,主要改造如下,你也可以进入我的博客仓库查看:

  • 修改首页
  • 增加 Docs 文章时间排序
  • 接入 giscus 评论
  • 接入 Google Analytics 统计
  • 增加了 Markdown lint 校验与格式化(vscode 插件)

后续或许还会写一个后端,来实现其他更多的功能。

总之不同的博客程序都有不同的优势,也有不同的劣势,选择适合自己的就好。