cat ~/posts/building-a-rusty-personal-site.md

cd ..

用 Axum 搭一个会呼吸的个人站

从静态模板走到运行时 Markdown,个人站终于有了可以随手更新的文章系统。

这个站的目标很简单:不要做成一张简历海报,而是做成一个可以长期更新的小终端。

技术上暂时保持轻量:

  • Axum 负责路由和 HTTP
  • MiniJinja 负责服务端模板
  • pulldown-cmark 负责 Markdown 渲染
  • posts/*.md 负责文章内容

这样写文章的时候只要把 Markdown 放进 posts/ 目录,刷新 /posts 就能看到新内容。

为什么不一开始就上前端框架

个人站的首屏内容应该天然对 SEO 友好。服务端直接输出 HTML,搜索引擎、微信预览、无 JS 环境都能看到内容。

Vue 或其他前端框架以后可以作为局部增强,比如做标签筛选、命令面板、项目搜索,而不是接管整站。

rust
let app = Router::new()
    .route("/", get(index))
    .route("/posts", get(posts_index))
    .route("/posts/{slug}", get(post_detail));

这一版先把骨架立住。剩下的就交给内容慢慢长出来。