你好,世界:这个博客是怎么搭起来的
2026年8月9日约 1 分钟195
目录
为什么又造一个博客
市面上的博客系统不少,Hexo、Hugo 快但纯静态,WordPress 全但太重。我想要的是一个能随时在网页里写作、带后台、又足够轻的系统。
于是有了这个项目。
技术选型
| 层次 | 选择 | 理由 |
|---|---|---|
| 框架 | Next.js App Router | RSC 让数据获取写起来像同步代码 |
| 数据库 | Prisma + SQLite | 本地零配置,上线换 Postgres 只改一行 |
| 认证 | Auth.js v5 | 凭据登录够用,以后想加 GitHub 登录也简单 |
| UI | shadcn/ui + Tailwind | 组件代码在自己仓库里,改起来没有心理负担 |
一段代码
服务端组件里查数据,就是这么直白:
export default async function Page() {
const posts = await prisma.post.findMany({
where: { status: "PUBLISHED" },
orderBy: { publishedAt: "desc" },
take: 10,
});
return <PostList posts={posts} />;
}没有 useEffect,没有 loading 状态机,没有接口层。
已经有的功能
- 文章的增删改查,Markdown 编辑器带实时预览
- 分类、标签、归档、全文搜索
- 评论系统,支持楼中楼回复和后台审核
- RSS、sitemap、robots.txt
- 深色模式
接下来
想加的还有很多:图床对接、文章加密、数据统计面板……慢慢来。
写博客这件事,最难的不是搭系统,是持续写下去。
站
站长
一个热爱折腾的开发者,这里记录技术、阅读和生活。
相关文章
React Server Components 使用笔记
用了半年 RSC,记录一些踩过的坑:什么时候该加 use client,数据该在哪一层取,以及序列化边界的注意事项。
2026-08-051 分钟702
评论(3)
这条评论还没通过审核,登录后台即可看到它。
技术选型很清晰,请问后台的编辑器支持图片粘贴上传吗?
支持的,编辑器里可以直接选择图片上传,会自动插入 Markdown 语法。