从零自己搓了一个博客系统。

一直以来,我就对现有的博客程序的自定义化流程不满意。我从 Hexo 迁移到 WordPress,又从 WordPress 迁移到 Typecho,最后得以意识到一个事实:深度自定义化的成本,远大于自己编写一切的成本。

抱着简洁主义和实用主义的理想,我再次开了一个新坑: AmiaBlog。

实际上,我开发这个博客系统的过程中,并没有遇到什么困难。只需要按照自己的设计美学,将一切一点点搭建起来,组成一个完整的系统。(我一直以来都没有使用 Vibe Coding,我认为长期这样会导致自己失去编码的能力)

项目也没有花费太多时间。从开始开发到第一个可用版本(也是我正在使用的版本),只花了不到 3 天的时间。


整个博客系统使用 FastAPI + Jinja2 + MDUIv2 的技术栈,兼顾性能、兼容性和美观性。

得益于 MDUI V2 的 Dynamic Theme 系统,只需要输入自己喜欢的颜色,全套基于这个颜色的配色方案就会自动生成。我对 Highlight.js 的默认样式文件进行了一些修改,使高亮后的代码也跟随配色主题变化。

AmiaBlog 还使用了单文件配置系统,这意味着只需修改一个文件,就可以实现相对较深的自定义化。

同时,AmiaBlog 完全使用 Markdown 作为写作系统。打开你喜欢的任何编辑器,使用 YAML 写下文章的元数据,随后使用 Markdown 撰写文章正文,这对我来说是最舒适的写作体验了。为了获得一个更舒适的写作环境,让我更多地记录并表达出自己的想法,就算是自己从零造一个轮子,都完全值得。


主要功能

  • 完全的 Markdown 写作支持

  • 内建高性能搜索算法

  • 基于 MDUI V2 的响应式前端

  • 自动暗色/亮色模式

  • 仅需提供主色的自动配色方案生成器

  • 多语言支持

  • RSS Feed 支持


一些预览图


日后,在持续更新 AmiaBlog 的同时,我也会试着多多更新自己的博客,请多多关注!

最后,放上 AmiaBlog 的仓库链接,欢迎做出贡献,或是自己部署一个玩玩:GitHub - 0x24a/AmiaBlog: A simple, lightweight blog system built with FastAPI & MDUIv2.

38 个赞

我前几天都还在想,目前主流的几个博客程序都不是很喜欢,要不要自己写一个。现在的进度是已经创建了文件夹

11 个赞

大佬厉害!

2 个赞

我是拿来党 不会造轮子

1 个赞

感觉好久没见过到 Material Design 的 Blog 了()

2 个赞

咕果自己都有点放弃了捏

2 个赞

你比我强!我只是有想法!还没新建文件夹呢

5 个赞

看起来很不错呀!

3 个赞

太强了,大佬

2 个赞

大佬厉害 学习下

1 个赞

我的文件夹有点多

2 个赞

看起来挺不错的。

1 个赞

哈哈人手一个博客项目

4 个赞

太强了,佬

1 个赞

仰望大佬,学习学习

2 个赞

虽然但是,一直觉得谷歌审美不是很好看

2 个赞

取决于个人吧还是()

1 个赞

大佬们还是都太强了

1 个赞

强强强 :+1:

2 个赞

击败 99% 的人

2 个赞