从零搭一个会呼吸的个人博客
模板不该是冷冰冰的骨架。记录一次从数据库到排版的搭建过程:为什么选择 SQLite,如何让页面有呼吸感,以及哪些地方刻意留白。
Uran2026年10月20日2 分钟阅读137 次浏览模板不该是冷冰冰的骨架。记录一次从数据库到排版的搭建过程:为什么选择 SQLite,如何让页面有呼吸感,以及哪些地方刻意留白。
Uran2026年10月20日2 分钟阅读137 次浏览做博客最容易犯的错,是一开始就想把所有功能做完。评论、订阅、全文检索、访问统计——每一样都值得做,但每一样都会把「先写第一篇文章」这件事往后推。
所以我给自己定了一条规矩:先让页面能安静地读完一篇文章,再考虑其他。
这个站点由三个部分组成:
它不追求高并发,也不需要分布式。个人博客真正的瓶颈从来不是技术,而是你多久写一篇。
很多人对 SQLite 的印象还停留在「玩具数据库」。事实上,在读写比悬殊、单机部署的场景里,它比任何需要额外运维的数据库都更合适:
SELECT p.title, p.published_at, c.name AS category
FROM posts p
LEFT JOIN categories c ON c.id = p.category_id
WHERE p.status = 'published'
ORDER BY p.published_at DESC
LIMIT 10;
打开 WAL 模式之后,读操作不会阻塞写入,几十万篇文章也毫无压力。更重要的是:它不需要你照顾。
排版上的几个决定:
好读的页面不需要读者注意到设计,它只需要读者忘记时间。
模板只是起点。真正让一个博客活起来的,是持续写下去的那些文字。把后台账号改掉,删掉示例文章,然后开始写你自己的第一篇吧。