功能、体验双优化,miniblog现已升级,轻量、免维护
作者:高仙森 最后修改:2026.8.6
依旧省流在前:本次更新支持了文章分类、优化MarkDown渲染、加入了文章分页、加入了快速返回顶端,以及一堆性能和体验的优化
项目GitHub开源地址:https://github.com/gxj8885718/miniblog
点击左下角阅读全文跳转Blog体验
下面依旧是碎碎念,想当电子榨菜的也可以看看
时间过得真快,miniblog 1.0发布,已经是半年前的事情,AI界也是发生了翻天覆地的变化。比如AI写代码有了个名词——Vibe Coding。。。
虽然个人Blog早已入土,上一篇公众号文章浏览也只有寥寥220,市面上也早已充斥着类似功能的轻量化博客站点(更有GitHub Pages、CloudFlare Pages等完全免费无需云服务器的免费方案),似乎完全没有必要再来花时间精力对miniblog这个项目进行更新。
但怎么说呢,可能这就是中登的恋旧吧,就像QQ空间,你知道你从来不再会去打开,更不再会去发布,但你知道那里有你的青春、有你的过去、可能还有你珍重的人……
回到这次更新。
工具更新
1.0版本还是通过通用大语言模型的对话,完成的开发。这次更新到1.5,基本用的都是现阶段免费的WorkBuddy(无广)。不得不说,自带沙箱真的可以随便造,直接修改目标代码块真高效……
为什么这么说,因为除了写miniblog的升级代码,我还让它进行了压力测试、安全评估、博文迁移等任务。
站点更新内容
1.支持了文章分类
像WordPress之类的传统博客,分类只是数据库中的一个字段,但是我这是纯md文件的轻量博客系统,不可能去扫描每篇文章中的“分类”字段,思来想去,文件管理最简单的方式——文件夹,那读取文章所在的文件夹不就好了。但实操起来,遇到了一个问题:文章URL与1.0系统存在兼容性问题。1.0中,文件名即为文章链接。比如“mrga0.com/文章”,如果放到二级目录中,链接就要变成“mrga0.com/分类/文章”,旧的那些已经被搜索引擎的链接就无法访问了。想要实现向下兼容,这样就不得不建立一个文章与实际储存位置的对应关系,即建个缓存,这就带来第二个更新点。
2.文章扫描优化
1.0的时候,每当有人访问,都会去拉一遍documents目录下的文件清单,文章少的时候无所谓,但一旦文章数量、并发人数变多,这个遍历的时间就无法被忽视了。生成一个缓存就很合理,后续所有拉取文章清单,获取文章与储存位置对应关系都只需要访问这个缓存即可。由于文章发布的不会很频繁,为了优化不必要的扫描,于是现在miniblog只有在检测到documents目录的修改时间发生变化了,才会去重建缓存。
3.搜索、分页
1.0的时候,是没有做目录分页功能的,搜索的实现,都是在用户浏览器端进行的。但是文章数量一多,一方面实在很难翻,而且,要把所有的缓存下到本地,这个事情也很不优雅。但是,miniblog又没有数据库,咋办,每次搜索服务器都加载一遍缓存,也很麻烦。一通研究,发现启用APCu后,就可以在内存中持续留存,后续请求不需要重复加载缓存,用起来。(后续可能考虑换成OPcache,但现在看来貌似问题不大)
4.MarkDown渲染优化
在后面的使用中,发现虽然站点可以正常解析MarkDown语法,但是像表格、代码块等很多样式,都没有绘制对应UI,比如表格没有框……,在这一版本中,做了大量的优化。除了公式,其他基本够用了。
5.回到顶部&搜索
这一版,在首页和文章页中,加上了回到顶部的快捷按钮,同时,首页上划后,搜索框没好地方放,就一起放在右下角了。
6.感知不强的一点优化
主要是苹果设备,不论是Mac还是iPhone/iPad,在从文章页返回到首页,不会记录此前滑动停留的位置,把位置写进缓存再加载,又会出现返回/刷新后有一个滚动动画,很怪,很不优雅。以及还有什么滑动动画没完成点不到文章啥的,乱七八糟也修了一堆。
更新后一些截图
电脑/iPad等桌面视图:依旧支持亮色暗色切换

手机等移动版视图

AI做的一些测试
在更新miniblog的时候,因为发现AI的工作空间是一个Linux的沙箱,于是让AI对miniblog做了两个测试——压力测试和安全测试,WorkBuddy竟然也顺利的完成了。
1.压力测试
直接贴报告:https://mrga0.com/轻量级博客对比报告.html
这个测试交给AI真的是太正确了。对于0开发基础的人来说,做这个小项目已经很艰巨了,想要做压力测试,第一步架设部署这些参测的网站就很复杂了,更不用说怎么生成1000篇文章导入到这些系统、如何测量响应时间、磁盘IO等性能数据……
总而言之,AI自己对比了HTMLy、Bludit、Typecho、WordPress、Ghost、Hugo,在随机生成1000篇文章、10并发、300请求的测试中,miniblog首页响应时间1.07ms,文章响应时间1.42ms,并发吞吐2,428 rps,每点击磁盘文件读写3次,除了生成纯静态html的hugo,基本就是第一梯队了,超级适合像我用的这种垃圾虚拟主机(1G内存、CPU不明、磁盘IO限制1MB/s、网速限速80~120KB/s)。让AI加测了个弱服务器模拟,首页+文章加载仅609ms,优于参测对手。
提示词1:在网上搜索一下,热门的轻量博客项目有哪些,并在github中找到项目源码,将这些热门项目与miniblog项目(https://github.com/gxj8885718/miniblog )、WordPress做个对比。对比内容大框架参考,基础对比内容以及一些常见对比项目你来加:一基础功能对比,如项目部署方式、文章发布方式,二、技术路线对比,三、项目压力对比(分别搭建这些项目的运行环境,生成1000篇文章,然后模仿用户浏览,收集页面响应时间,搜索时间,用户每次点击会产生多少磁盘文件读写)。最终给我生成一份报告,以html形式呈现。
提示词2:你可以测量一下https://mrga0.com 发起请求到得到文件花了多少ms(类似电脑中取文件的寻道时间),并整体加测一轮模仿用户浏览首页、文章页的完整耗时。(服务器模拟1G内存、垃圾硬盘响应时间、垃圾网络延迟)。
2.安全测试
直接贴报告:https://mrga0.com/SecurityAudit-v1.3.13.html
只能说AI真的挺方便的,可以对代码做审计。虽然我完全不是码农,也从未接触过安全相关的工作,但只是用自然语言,让AI帮忙做个安全评估,就给出了这份报告,并给了解读。比如这个报告是基于1.3.13的评估报告,Parsedown SafeMode 显式关闭等问题,是因为插入视频等属于markdown原生不支持的语法,想在页面显示就需要关闭,而且本项目为个人博客,只采用站长同步上传.md文件的方式更新文章,因此可以忽略。
提示词:请下载miniblog项目(https://github.com/gxj8885718/miniblog )源码,帮我全面审查源码,告诉我这个站点可能存在哪些漏洞,给我生成一份安全性评估报告,以HTML形式呈现。
最后
做了这些,真的是完全认可黄仁勋 GTC 2026 演讲说的内容,未来是AI的未来……
如果你看到这里,贴上AI润色的本文,真的写的好多了。。。撰稿人:ChatGPT
为什么 2026 年,我还在维护一个没人用的小博客系统?
作者:高仙森
最后修改:2026.8.6半年前,我做了一个很小的项目——miniblog。
它没有数据库,没有后台,没有复杂的依赖,只需要放几篇 Markdown 文件,就能变成一个博客网站。
当时做它,更多只是为了满足自己的需求:我想要一个足够轻、部署简单、几乎不用维护的博客,而不是一个越来越臃肿的 CMS。
半年过去,AI 编程已经从当初的"写点代码"变成了现在大家常说的 Vibe Coding。与此同时,miniblog 也迎来了第一次比较大的升级。
为什么还在维护它?
说实话,现在再做个人博客,多少有点逆时代。
有 GitHub Pages、Cloudflare Pages 这种几乎零成本的静态方案,也有 WordPress、Typecho、Ghost 等成熟的博客程序,功能都比 miniblog 丰富得多。
上一篇介绍 miniblog 的公众号,到现在也只有两百多次阅读。
从任何角度来看,这个项目似乎都没有继续投入时间的必要。
但怎么说呢……
可能这就是中登的恋旧吧。
就像 QQ 空间。
你知道自己已经很多年没有打开过,也几乎不会再发动态了。
但你知道,那里放着你的青春,有你的过去,也可能还有一些曾经很重要的人。
所以,这次还是把它继续做下去了。
这次升级了什么?
相比 1.0,这次更多是一次"功能 + 体验"双升级。
一、终于支持文章分类了
这是很多人提过的需求。
传统博客的分类,通常只是数据库里的一个字段。
但 miniblog 本身没有数据库,每篇文章就是一个 Markdown 文件。
如果要求每篇文章都去维护一个分类字段,又违背了它"文件即文章"的设计理念。
所以最后采用了一个最符合直觉的方案:
文件夹就是分类。
文章放到哪个目录,它就属于哪个分类。
不过真正实现的时候,却遇到了一个兼容性问题。
1.0 的文章链接就是文件名,例如:
mrga0.com/文章名如果改成目录结构,就会变成:
mrga0.com/分类/文章名这样一来,搜索引擎已经收录的旧链接全部都会失效。
为了兼容旧版本,我最终建立了一份文章与实际存储位置的映射缓存。
用户依然访问旧链接,而程序自动找到真正的 Markdown 文件位置。
整个升级过程中,兼容性反而成了最大的工作量。
二、文章扫描速度更快了
1.0 有一个比较"偷懒"的实现。
每当有人访问网站,程序都会重新扫描整个 documents 目录。
文章只有几十篇的时候,这几乎感觉不到区别。
但文章越来越多,或者访问人数稍微高一点以后,每次扫描目录都会变成一种浪费。
所以 1.5 增加了文章缓存。
以后文章列表、文章位置、分类等信息,都直接从缓存读取。
而缓存什么时候更新?
答案也很简单:
只有 documents 目录发生变化的时候。
如果没有新增、删除、修改文章,就不会重新扫描整个目录。
这样既保持了"免维护"的特点,也避免了大量不必要的磁盘访问。
三、搜索和分页终于来了
以前首页没有分页。
搜索也是浏览器端完成的。
文章少的时候没问题。
但如果文章越来越多,就意味着:
- 首页越来越长;
- 浏览器需要下载全部文章索引;
- 搜索速度也越来越慢。
我一直不想为了这些功能引入数据库。
后来研究了一圈,发现 APCu 很适合这种场景。
文章索引会一直保存在内存里,后续请求无需重复读取缓存文件。
整个搜索和分页逻辑依旧保持轻量,同时响应速度也快了很多。
四、Markdown 渲染完善了
以前其实已经支持 Markdown。
但是很多细节一直没有完善。
比如:
- 表格没有边框;
- 代码块样式比较简单;
- 一些常见 Markdown 元素显示效果一般。
这一版把这些地方基本都补齐了。
除了公式,目前常见的 Markdown 基本都能比较舒服地展示。
五、补了一堆"感觉不到"的小优化
这一类更新,其实工作量一点都不少。
比如苹果设备(Mac、iPhone、iPad)返回首页时,浏览位置无法恢复。
后来尝试过缓存滚动位置。
虽然解决了问题,但刷新页面时又会看到明显的滚动动画,看起来非常奇怪。
于是又换了另外一种实现方式。
除此之外,还有各种滑动动画、点击时机、页面切换等细节,也顺手修掉了一堆。
这些优化,大多数用户可能根本不会注意到。
但每天使用的时候,都会舒服一点。
更新后的界面
(这里放桌面版截图)
支持亮色 / 暗色模式。
(这里放移动版截图)
移动端布局也进行了优化。
AI 不只是帮我写代码
其实,这次升级让我感触最大的,并不是写代码。
而是 AI 已经能够参与整个开发流程。
这次我主要使用的是 WorkBuddy(无广)。
不得不说,自带 Linux 沙箱真的很好用。
除了写升级代码之外,我还让 AI 做了很多以前一个人几乎不可能完成的事情。
1、压力测试
以前如果让我自己做压力测试,大概第一步就放弃了。
因为首先要:
- 部署多个博客系统;
- 批量生成 1000 篇文章;
- 自动导入;
- 编写压测脚本;
- 统计响应时间、吞吐量、磁盘 IO;
- 最后整理成报告。
而这一次,我只是告诉 AI:
找几个热门博客程序,搭建起来,对比 miniblog 的性能。
最后,它真的完成了。
它自动部署了:
- HTMLy
- Bludit
- Typecho
- WordPress
- Ghost
- Hugo
统一生成 1000 篇文章,在相同条件下完成压力测试,并最终输出了一份 HTML 报告。
报告地址:
https://mrga0.com/轻量级博客对比报告.html
测试结果也让我有点意外。
在随机生成 1000 篇文章、10 并发、300 请求的条件下:
- 首页响应约 1.07 ms
- 文章页约 1.42 ms
- 吞吐量约 2428 RPS
除了纯静态生成的 Hugo,基本属于第一梯队。
后来我又让 AI 模拟了一台"垃圾服务器":
- 1GB 内存;
- 极慢磁盘;
- 较高网络延迟。
最终首页和文章页完整加载约 609 ms,依然优于参测的大部分博客系统。
对于我现在这台共享虚拟主机来说,这正是我希望看到的结果。
2、安全审计
AI 还帮我完成了一份完整的源码安全审计。
报告地址:
https://mrga0.com/SecurityAudit-v1.3.13.html
虽然我既不是程序员,也没有做过安全相关工作。
但现在,只需要一句自然语言:
"帮我审查整个项目有哪些安全风险。"
AI 就能够下载源码、分析项目,并最终生成一份完整的 HTML 报告。
例如报告中提到 Parsedown SafeMode 被关闭。
这其实是一个设计上的取舍。
因为插入视频等内容,本身就不是 Markdown 原生支持的语法。
为了能够正常展示这些内容,需要关闭 SafeMode。
而 miniblog 本身定位就是个人博客,只允许站长上传 Markdown 文件,因此这一项风险是可以接受的。
最后
做完这次升级,我最大的感受其实并不是 miniblog 又多了几个功能。
而是很多过去需要一个团队才能完成的事情,现在一个普通人,也可以借助 AI 去完成。
写代码、重构、性能测试、安全审计……
它已经不只是一个代码补全工具,而是真正参与到了整个开发流程。
也许几年后再回头看,2026 年,会是软件开发方式发生巨大变化的一年。
而 miniblog,只是我亲身经历这一变化时留下的一点小小记录。
项目地址:
GitHub:https://github.com/gxj8885718/miniblog
如果你也喜欢这种轻量、免维护、Markdown 驱动的博客,欢迎体验,也欢迎提出建议。