Table of Contents
根据每篇文章的标题生成目录,并带有跳转链接。撰写时无需插入任何内容。
插件
Table of Contents
根据每篇文章的标题生成目录,并带有跳转链接。撰写时无需插入任何内容。
安装
两个步骤
- 在 EmDash 管理后台打开 Registry,搜索 Table of Contents,然后点击 Install。它不需要任何权限。
- 在左侧菜单中打开 Table of Contents,进入 Setup 选项卡,把它显示的简短代码块粘贴到基础布局的 head 中,通常是
src/layouts/Base.astro。如果你的站点是别人搭建的,请把这段代码块发给对方。
这样就完成了。每篇有足够多标题的文章或页面都会获得目录,作者无需做任何事。Settings 选项卡可设置标题、哪些标题级别计入、列表的位置,以及是否默认折叠。
若想自己指定确切位置,请在文章模板中放入 “。若要排除某个标题,请给它加上 data-toc-skip。
常见问题
这个插件有什么作用?
它在读者的浏览器中读取文章或页面的标题,并在顶部显示一份跳转链接列表。点击某一行会滚动到对应章节,阅读时当前章节会被标记,地址栏会获得该章节的链接,便于分享。作者无需插入任何内容。
使用哪些标题?
由你选择:仅 H2、H2 和 H3,或 H2 到 H4。H3 条目位于其所属 H2 之下。H1 从不使用,因为那是文章标题。
我的标题没有 id。它还能用吗?
可以。当标题没有 id 时,插件会根据其文本为每个标题生成一个 id,因此链接在任何主题上都能正常工作。
我可以在短文章上停用它吗?
只有当页面至少有你设置的标题数量(默认是三个)时,才会显示该列表。对于站点的某一整个区域,请使用 Show on 并填入地址开头,例如 /posts。
它放在哪里?
放在第一个标题之前、第一段之后,或内容区域的顶部。如果你想把它放在别处,请在模板中放一个带有 data-toc 的空元素,它就会出现在那里。
跳转之后,标题被我的固定菜单遮住了
请把 Settings 中的 Sticky header height 设置为你的菜单栏高度(以像素为单位)。
它会收集任何内容吗?
不会。该插件无法访问你的内容,也不会向你的站点之外发出请求。唯一的调用是你的站点获取它自己的设置。
它会拖慢站点吗?
该脚本约 5 KB,在页面就绪后加载,并缓存一分钟。不会从其他服务器加载任何内容。
更新日志
0.1.0
- 首次发布。根据每篇文章或页面的标题生成目录,带有跳转链接、平滑滚动,并标记当前章节。
- 设置:标题、计入的标题级别、最少标题数量、位置、编号、默认折叠、在所有页面或以某个路径开头的地址上显示、固定页头高度、内容区域。
- 使用
data-toc自行放置。使用data-toc-skip排除某个标题。 - Setup 选项卡会显示站点是否正在加载目录。