博客工具历史小记
省时总结
博客小改变:总结信息直接写在文章最前面。不看明细则无需往下读,为所有人省点时间。
WordPress | Hexo | Gatsby | |
---|---|---|---|
技 术关键字 | php mysql | node | node React GraphQL |
网站服务 | 动态 | 纯静态 | 纯静态 同时支持动态 |
内容更新 | 网页编写发布 | 手动上传生成物 | 手动上传生成物 |
网站更新 | 一般为FTP | ftp/命令行/ci 均可 | ftp/命令行/ci 均可 |
写文章 | 网页编辑器 | 本地编辑 | 本地编辑 |
编写格式 | 类Word | .md | .md, .mdx, React |
插件 | 方便,非常多 | 比较方便,很多 | 较多,但非都适合于博客 |
皮肤 | 方便,非常多 | 比较方便,很多 | 不方便,少 |
HMR | 否 | 否 | 是 |
折腾度 | 轻度,点网页 | 中度:手动档插件与皮肤 | 重度:大概率需要写代码 |
扩展灵活度 | 比较灵活 | 文档较差,不太灵活 | 非常灵活,NodeJS + GraphQL |
正式开始
又做了一次工具党,换了个博客软件,之前使用的Hexo
已经不那么好用了,虽然有个Hugo
也很火,但只能算平替,价值有限 。
考虑过NextJS
,也有不少的博客架子,但感觉NextJS
在纯静态生成上发力不足。偶然看到了发力在静态内容生成上的Gatbsy
, 简单尝试了一下,就是它了!
加上自己略懂一点前端技术,所以就自己折腾了,净时间投入大概30-40小时之间吧,也不完全浪费,因为顺便学习了下 TailwindCSS
。(其实之前折腾 WP 和 Hexo总浪费时间也不少。)
WordPress 阶段
十几年前刚开始写博客时,WordPress就是博客的代名词,不止于此,就连很多非博客类型的网站都基于WordPress开发!
那时候是虚拟主机的时代,基本上所有主机服务商管理面板上都集成了安装工具,想上线一个WP网站,点点鼠标就行,很适合没有任何技术的小白。
加之WP皮肤、插件生态丰富,想要的功能和样式直接在后面就可以直接安装。而且文档也不错,会一点技术自行扩展也比较容易,看样子,WordPress几乎已经将博客做到了尽头。
但后面情况发生了变化,让 WordPress 本有的一些先天缺点放大,特别是对程序员群体来说,很难忍受。
- 2010年后,
Markdown
开始风靡,当时 MD 编辑器大爆发,体验一个比一个好,WP的在线编辑器瞬间像是老古董了。 - 数据不好管理,WP站点总是要折腾代码/文章数据的同步方案,我的博客就因一次小事件,损失了不少文章。
- 云服务慢慢在干掉虚拟主机,而且很多云存储基本上是免费,配备CDN加速,空间也大(一般虚拟主机低档也就100M),特别适合放纯表态 网站。
Hexo 阶段
看上去并没什么短板的 WordPress 有点根不上时代了,2012年,Github出品了 Github Pages
和Jekyll
,完美解决了以上问题,所有数据都在 Git仓库,只要本地编辑好后,push一下,就可以自动更新网站了,而且,完全免费。
但是,Jekyll 比较简陋,功能、皮肤、插件等生态都不丰富,使用起来也需要折腾不少东西,直到Hexo
横空出世。
Hexo是一个基本的内容引擎,根据MarkDown文件生成静态站点,基于这个引擎,官方出了不少皮肤和插件,虽然不如WP,但做为博客使用已经够用,基本安装配置好,就写文章就行了。
2016年时,我从WP换到了Hexo,把格式转换,图片下载后,感觉很爽,告别了数据库,安全感也提升了。
当然纯静态并不是优点,意味着网站不能有评论,不能有针对UA的一些优化了,插件也只能解决部分问题。
多年之后,我觉得Hexo也并不好用了,主要是:
- 图片不好管理,虽然有些插件能帮忙,但非常别扭。
- 不支持
HMR
,时代在变化,用过HMR表示回不去,不支持就别扭。 - 文档较差,支持的模板语言都比较奇怪,有时想查看资料,看到 Hexo 的官方文档都需要来回脑补。
HMR说明 : Hot Module Replacement / 模块热更新
当模块有变化时,无需完全重新加载,直接在网页上变化。
对于博客来说,是一个用了就回不去的特性(双屏工作者)。
Gatsby 阶段
其实支持HMR
的工具也有很多,但这类已经离博客是越来越远了,由于我自己也略懂点代码,加上对Hexo的不满,找个现成的架子再改一下,搞个简单的博客系统也算不上太费事。
其中NextJS
就是其中佼佼者,但并不想太深入学习,直到看到了这个Gatbsy
!
相对于其它框架,Gatbsy
使用GrpahQL
!也就是说,如果想自行扩展功能、差件,基本不用去查文档了,所有的内容信息,在GrpahQL查询页一榄无余。
相对于Hexo,除了 HMR
+ GrpahQL
外,还支持 mdx
!
MDX : https://mdxjs.com/
Markdown
的升级版,支持在 Markdown 中直接运行代码段并显示结果。对于 需要演示前端代码运行,或者展示一些特内容的博客来说,是一个非常实用的功能。
MDX简单演示
MDX演示
点下面按钮
转动动画
对于Hexo的诸多缺点,在Gatbsy中已经不是问题,如文件管理,图片处理等,Gatbsy
甚至可以只做为写做工具使用,拿WordPress或其它CMS系统做为服务器,享受双重好处。
唯一不好的地方就是仅提供了基础的工具,虽然有很多开源的Starter项目进行了完善,但使用起来需要一定技术和时间进行自定义的改造。