我的博客/个人主页更新了
这一切说来话长
长期以来,我的博客都是hexo的,从Matrerial主题切换到了Fluid主题
现在!我写了一个新的个人主页,并把博客并入个人主页之中
旧的博客的仓库已经移到了这里,你仍可以通过Github Pages访问
为什么做这个
一个呢,是自我介绍不全面, 同时无法好好展示链接,便早早谋划了个人主页项目,然后想了想,顺便把博客也加进来吧
于是花了暑假两个多星期,做出来了模板
现在是能用,但是还是有一些瑕疵啊设计问题啊bug啊之类的,不过也足够了
技术栈
-
vite
-
mdui(Material3风格的,除了涟漪,因为M3官方文档图里面涟漪是旧版的,我也不知道为什么)
-
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的,但是怎么都搞不好,于是就放弃了