博客重置

2022 年 六月 23 日 星期四 17 点 50 分
博客

前言

终于算是完成了博客的重置,打算写一篇记录这一过程的文章,却不知道该怎么开头……

一年之前,也就大概是 2021 年 6 月,我打算自己制作一个 Hexo 主题。虽然已经记不清原因是什么了,但是还记得找过很多的资料,尽可能自己完成全部的功能,当然还是得借鉴如 Butterfly 这样优秀的主题,毕竟我还是太菜了。
一开始做主题时,参考了 Butterfly。结果是看起来和 Butterfly 差不多。于是,我把平时的各种想法记录起来,同时一直关注着 Butterfly,有时候能在 issue 里看到其他人的想要的功能之类的,也都记录下来。
结果吧……确实做到了很多,并且“我自认为有很高的自定义性”。但后来再想想,这些做了有什么用呢?我希望的是可以自定义的,并且内置了各种功能,但从另一个角度考虑,就是把各种功能强加给使用这个主题的人,这是很不好的。
因此主题的开发进入了停滞状态。

Electron

在主题开发的过程中,也遇到了许多的问题,好在大部分都能比较顺利的解决。同时也积累了经验,再遇到相同的问题时,花在找资料上的时间变少了。

后面我还尝试根据自己的需求开发软件,用的是 Electron,大部分功能的实现和网页上的 JavaScript 还是差不多的。
最开始开发的是一个不需要第三方服务的 RSS 订阅/阅读器。虽然好像我并没有这方面的需求。
在开发这一软件前我是完全不知道异步和同步这个概念的(是的,真实的菜),开发的过程中,像是界面、解析 xml 什么的还是比较顺利的,然后就栽在了数据存储上。
我按照网上的方法各种尝试,然而并没有用,数据总是在解析完成前就储存好了,导致没有保存解析的结果。另外也试了从 fs.writeFile 换成 fs.writeFileSync,同样没有作用。到目前为止,我还是搞不懂异步这一块。

后来第二个软件,一个番剧管理器(简称“ABM”)。因为曾经有过 B 站上订阅的番不见了,我怕再也找不到,就先用了表格来记录,后来嫌表格不直观,就用 Hexo 做了一个,用的之前开发的主题改的。
优点其实是有的,相对表格主要是更直观和易于管理,但缺点很明显,Hexo 中一篇文章就是一个 md 文件,几百个文件放在同一个文件夹,结果就是很卡。
在 RSS 订阅/阅读器 开发后,我就尝试用 Electron 开发一个 ABM2,相比前面 Hexo 做的可以说什么优点都没有,加上我有些东西没考虑全,就出现了几百张图片同时出现然后卡顿的壮观场面。加上 js 写的很糟糕,虽然还能看懂但是真的不想在这个基础上修改了。
于是后来就重新开始,开发了 ABM3。这次降低了标准,用了 electron-store 来做数据存储而不是自己写一个,使得开发过程十分的顺利。加上有了 ABM2 的翻车经验,避开了许多的坑,并且还更好用了。目前还没做云同步和安卓端,相比 Hexo 版的唯一缺点就是不能在任何设备上查看了,但是其他各方面的体验都好了很多。
鉴于 ABM3 用起来还不错,我有考虑过开源并发布出去,但是还有一些大大小小的问题,所以就先搁置了。

博客

不确定是从什么时候开始,就感觉到我的博客打开速度越来越慢了,就算原本 Butterfly 主题的博客开启了 PWA、Pjax,还用 Gulp 压缩,也都没什么效果,都是需要加载好几秒。
另外,由于前面我做的主题有许多问题,js 和 css 都太大了,加载时间太长,所以我也不打算用。

除此之外,还希望博客足够美观,看来看去感觉还是 Fluent Design 好看些,部分 UI 按着 Microsoft Store 的样子来做,效果也还行。但是 css 和 js 还是太大了,不得已放弃。

最终决定以更快的加载和简单为目的,重新设计,形成了现在的这个主题。以简洁为主,虽然现在看起来还是比较粗糙的。
为了确保加载速度足够快,砍掉了许多功能。从设计之初,就考虑了自己实现类似 Pjax 的效果,将各种页面的不同之处集中在一个 DOM 元素下,这样一来,替换页面内容就变得容易许多了。
PWA 的支持又是一波三折,还出现了某个文章内的图片全部加载不出来,其他的文章却不会。一看控制台说是 CROS 有关的问题,但明明是同一图床的在其他的文章都能正常加载。于是又怀疑是不是文章内的图片太多,但是在关掉 service worker 后又一切正常……
最终,在参考了 Google 的示范后,勉强算是解决了问题。也就是没有再复现出来,虽然我还是感觉有问题。

总之,现在的博客基本能在 1s 左右显示出来,虽然还是很不稳定,但是也比先前的好太多。

2022.08.11

今天上线了重置后的博客,虽然我还是觉得不如之前 Butterfly 的好看,但是访问速度快得多。
本来还有其他美化博客之类的计划,但是一段时间内怕是没法了。

今天更新完之后,大概要失联差不多一年吧😄。

时间线
2021.06

开始制作主题

2022.01

开始并完成制作 ABM Hexo 版

2022.03

开始并完成制作 RSS 订阅/阅读器
开始重置博客

2022.04

开始并完成制作 ABM2
博客改用基于 Fluent Design 界面设计的主题

2022.05

开始制作 ABM3
开始重置主题

主题开发进入了停滞状态

2022.07

完成制作 ABM3
博客改用新主题

2022.08

博客重置完成