一直以来,我就对现有的博客程序的自定义化流程不满意。我从 Hexo 迁移到 WordPress,又从 WordPress 迁移到 Typecho,最后得以窥视到一点事实:深度自定义化的成本,远大于自己来编写一切的成本。
抱着简洁主义和实用主义的理想,我再次开了一个新坑: AmiaBlog。
说实话,写这个博客系统的过程中,没有什么困难的地方。我只需要按照自己的设计美学,将一切一点点搭建起来,组成一个完整的系统。
项目也没有花太久时间。从开始开发到第一个可用版本(也是我正在使用的版本),只花了 3 天不到的时间。
博客整体使用 FastAPI + Jinja2 + MDUIv2 的技术栈,兼顾性能、兼容性和美观性。
得益于 MDUI V2 的 Dynamic Theme 系统,只需要输入自己喜欢的颜色,全套基于这个颜色的配色方案就会自动生成。我对 Highlight.js 的默认样式文件进行了一些修改,使高亮后的代码也跟随配色主题变动。
AmiaBlog 还使用了单文件配置系统,这代表一切都可以通过修改仅仅一个文件来实现深度自定义化。比如,下面是我自己博客的配置文件:
{
"site_settings": {
"title": "0x24a's Blog",
"description": "0x24a 的个人博客,包含软件开发、音声合成等领域的相关内容。",
"keywords": "0x24a, 586, vocalsynth, vocaloid, software engineering",
"site_url": "https://blog.24a.fun",
"color_scheme": "DDAACC",
"hljs_languages": [
"python",
"javascript",
"rust",
"markdown",
"xml"
]
},
"copyright": {
"name": "CC-BY-SA 4.0",
"refer": "https://creativecommons.org/licenses/by-sa/4.0/deed.zh-hans"
},
"site_language": "zh-CN",
"search_method": "jieba",
"cloudflare_analytics_token": "4abc217a10ea4729932d88aa68c8277f"
}
同时,AmiaBlog 完全使用 Markdown 作为写作系统。打开你喜欢的任何编辑器,使用 YAML 写下文章的相关信息,随后使用 Markdown 撰写文章正文,这对我来说是最舒适的写作体验了。为了获得一个更舒适的写作环境,让我更多地记录下、并表达出自己的想法,就算是自己从 0 造一个轮子,都完全值得。
主要功能
- 完全的 Markdown 写作支持
- 内建高性能搜索算法
- 基于 MDUI V2 的响应式前端
- 自动暗色/亮色模式
- 仅需提供主色的自动配色方案生成器
- 多语言支持
- RSS Feed 支持
一些预览图
日后,在持续更新 AmiaBlog 的同时,我也会试着多多更新自己的博客,请多多关注!
最后,放上 AmiaBlog 的仓库链接,欢迎做出贡献,或是自己部署一个玩玩:GitHub - 0x24a/AmiaBlog: A simple, lightweight blog system built with FastAPI & MDUIv2. · GitHub







