个人网站更新!

我的博客/个人主页更新了

这一切说来话长

长期以来,我的博客都是hexo的,从Matrerial主题切换到了Fluid主题

现在!我写了一个新的个人主页,并把博客并入个人主页之中

旧的博客的仓库已经移到了这里,你仍可以通过Github Pages访问

为什么做这个

一个呢,是自我介绍不全面, 同时无法好好展示链接,便早早谋划了个人主页项目,然后想了想,顺便把博客也加进来吧

于是花了暑假两个多星期,做出来了模板

现在是能用,但是还是有一些瑕疵啊设计问题啊bug啊之类的,不过也足够了

技术栈

  1. vite

  2. mdui(Material3风格的,除了涟漪,因为M3官方文档图里面涟漪是旧版的,我也不知道为什么)

  3. markdown-it + highlight.js + markdown-it-anchor + markdown-it-link-attributes + markdown-it-katex

开发历程

其实没什么的,但是主要都是在妥协和将就中完成的

LifeLog

在这个项目开始之前,就已经在铺路了

LifeLog是我受一些视频启发做的,这样大家也可以来视奸我了呢

手机端我是用自动任务APP,电脑端使用electron,服务器使用Cloudflare Workers

这是就有人问了,为什么不用Python非要用electron呢

那是因为现在装的Python版本太新了,那些打包工具都用不了,我有懒得再折腾了,我总不能天天顶着一个黑窗口吧

偷偷告诉你,其实电脑上传的数据是改过的,以前不是内存,是当前应用的使用时长,基于Tai这个软件,Tai会记录我每个exe使用时长,同时存储到sqlite数据库中,但是我发现,Time到底代表什么,据说是秒数但我总觉得不对,然后我就想换掉它,换成CPU,发现这个素质到底代表着什么,怎么感觉不准确,然后就改成了内存,因为着电脑内存小

(那个图标在图表库里真的叫memory而不是cpu)

手机的话选用自动任务是因为这个软件我很早就在用了,里面有跳过开屏广告、B站自动关闭竖屏页之类的,另一方面是因为别的我都用不上手

但是这个自动任务基本上想要的功能缺了一半,没有完整的变量功能,有些信息甚至时间戳我还得用shell获取

这就算了,shell执行功能有bug,不知道为什么,它会把命令分为多行给到curl,报错里面全是application不是主机、一串数字(时间戳之类的)不是主机……所以实现方式是把字符串写到文件然后shell执行文件,一样的文本这样反而没问题了

然而上传成功了都会在这一步提示失败……不管了

字体

中文字体原本是霞鹜新晰黑,后来被我换成了NotoSans(其实是思源黑体SC HW VF),本来是把文件放在这里的,解雇部署到Github Pages测试时因为这玩意太大了,半天没加载完,便换成了Google Font API

博客

博客文章页生成

我不会写,交给AI吧

拷打Gemini 2.5 Pro,拷打半天没写出来

交给Claude 4 Sonnet,还是不行

交给GPT 5(免费),还是不行

再给Claude 4 Sonnet,终于写出来了

后来经过了一些列修改,都是Gemini 2.5 Pro生成的

上面这个说的是scripts/vite-post-plugin.ts,其他的比如scripts/md-processor.ts就不需要这样拷打了,但也是vibe出来的

其它

我还用了比较“巧妙”的方式搞

比如文章标题是从自己url路径获取文件名然后到src/_configs/blog.yaml配置文件找到这个文件名的然后得到标题

文章目录是生成html的时候写入了一个script[type="application/json"]#toc-json元素,然后加载网页的时候读取并生成目录侧栏~~,这个目录侧栏其实我个人还不是很满意,有待改进,懒得改进~~

后来发现了astro,觉得不错,但是既然我现在这个都已经开始做了,就算了吧

早知道,还是astro

我没有使用React,是因为这种方式开发我更熟悉

早知道,算了不用了(划掉

迁移

之前博客那么多文章,我可不能手动一个一个填写对吧

呼叫Gemini Cli

搞定

不知道写什么了,就这样吧

pjax

其实原本是想加入pjax的,但是怎么都搞不好,于是就放弃了