系列 · 建站记

目录树侧栏与 RSS

2026-10-31约 1 分钟MDXRSS

左栏的树

这个系列左边的目录树不用手工维护,数据就是目录结构本身:

  • 章节(mdx)是叶子链接;
  • section 分组是分组标题,可以嵌套——“框架机制""发布管线”就是两个分组;
  • 同级按 frontmatter 的 order 混排,SeriesTree 组件递归渲染,当前页高亮。

桌面端侧栏 sticky 跟着滚动,移动端整棵树堆到正文上方。你现在在本页左侧看到 的就是它。

prose 排版

mdx 渲染出来是裸 HTML,得有人管排版。global.css 里一套 .prose 样式接手: 标题下加虚线,引用块左边一条印章红,代码块用 Shiki 的 vitesse-light 配色。 文章页能和全站的纸面风格对上,靠的就是这一层。

订阅源

rss.xml 也是构建期的产物:src/pages/rss.xml.js 从登记表拿全部已发布文章, 生成标题、摘要、日期、分类,draft 天然不进。

后来又补了一个构建后处理的小脚本:把每篇文章渲染出的 <article> 整块注进 content:encoded。原因是 Astro 7 的容器渲染不了 MDX 编译产物,只能在构建 完成后从产出的 HTML 里取。效果是订阅器里能直接读全文,不用点回网页。