用 Axum 搭一个会呼吸的个人站
从静态模板走到运行时 Markdown,个人站终于有了可以随手更新的文章系统。
这个站的目标很简单:不要做成一张简历海报,而是做成一个可以长期更新的小终端。
技术上暂时保持轻量:
Axum负责路由和 HTTPMiniJinja负责服务端模板pulldown-cmark负责 Markdown 渲染posts/*.md负责文章内容
这样写文章的时候只要把 Markdown 放进 posts/ 目录,刷新 /posts 就能看到新内容。
为什么不一开始就上前端框架
个人站的首屏内容应该天然对 SEO 友好。服务端直接输出 HTML,搜索引擎、微信预览、无 JS 环境都能看到内容。
Vue 或其他前端框架以后可以作为局部增强,比如做标签筛选、命令面板、项目搜索,而不是接管整站。
let app = Router::new()
.route("/", get(index))
.route("/posts", get(posts_index))
.route("/posts/{slug}", get(post_detail));
这一版先把骨架立住。剩下的就交给内容慢慢长出来。