文章目录用于帮助读者在长文中快速定位章节。当前项目在文章详情页支持桌面侧边栏目录、移动端目录入口和悬浮目录,不同入口共享同一套标题结构。

目录来源#

普通文章的目录来自 Markdown 标题。构建时,Astro 会解析正文中的 ###### 等标题,并把结构提供给文章详情页。

当前配置启用了目录功能,目录深度为 2。这意味着文章页主要展示一级和二级标题。写作时应保持标题层级稳定,不要为了视觉大小跳级使用标题。

点击跳转#

目录项会跳转到对应标题。固定导航栏、横幅和内容偏移可能影响标题落点,因此项目会统一处理滚动偏移,让点击后的标题尽量出现在可读位置。

同一篇文章内的 hash 链接也应指向真实标题。修改标题文本时,要检查其他文章是否有链接到旧标题。

滚动高亮#

读者手动滚动长文时,目录会根据当前阅读位置更新高亮项。这个行为依赖标题之间的范围判断,而不只是标题那一行是否出现在屏幕上。

因此长文应该避免大量空标题或过短章节。标题和正文之间保持足够说明文字,会让目录高亮更符合阅读直觉。

移动端体验#

移动端空间有限,目录通常通过按钮或悬浮入口展开。写作时不要依赖“读者始终能看到侧边栏目录”,正文自身也要有清晰的段落过渡。

如果文章非常长,可以在开头加入简短导读,让移动端读者先了解结构。

加密文章的差异#

加密文章未解锁前不会暴露静态目录。解锁后,目录从解密正文重新生成。这样可以避免只看目录就推断出受保护内容。

这个差异不会改变写作方式,但会影响读者看到目录的时机。