我查了相关资料,可能不是很对,请尽情指正
需求
- TOC --- (Markdown 文档的目录(TOC,Table of Contents))
- GFM --- GitHub Flavored Markdown
- GFM 是 CommonMark 的严格超集
本文只讲文档内内容的标题,类似于大纲的查看、导航
- 文档的 TOC 导出为 PDF、MD 支持点击跳转到相关内容块(我一般常用导出 PDF)
问题
- 思源能否更好的支持目录的原生插入、更新、导航?
- 能否新增一种方法为类似于
Typora
的TOC
的导航效果
分析问题
- 目前思源所有的导航好像都是统一用思源
块ID
链接,但是对于导出文件来说是无意义的 - 查阅资料说
SiYuan
的编辑器是基于Vditor
的 fork,Vditor
是基于Lute
解释器的,Lute
完整实现了最新的 GFM/CommonMark 规范 - 原始的 GFM 和 CommonMark 规范本身并不直接支持自动生成目录(TOC)的功能。------ 并不清楚规范, 问的 AI
- (可能)所以从底层来说没有相关
TOC
规范,TOC
属于拓展 - 我不知道
Typora
的TOC
功能怎么实现的,但应该也是通过锚点跳转,思源每个块的独有ID
应该解决了这一点
问题意见
- 最好是直接编辑器默认支持语法
- 导出功能增强
- 导出时根据在大纲范围内的标题根据
块ID
给出锚点 - 再根据
块ID
查询文档内的引用、链接语法替换锚点, 使其单向定位到标题 - 仅替换文档内有的, 但问题是导出 PDF 时会有子文档合并
- 差点忘了子文档合并也有点怪, 具体问题下面说
- 好吧,具体我也想不出了
- 导出时根据在大纲范围内的标题根据
- 新增相关 API
其他事项
PDF 导出子文档合并意见
- 导出时希望可以选择是否添加(文档标题/子文档标题)
- 因为我是文档一个标题, 然后再文档内部再写入一个一样的一级标题, 因为用了类似于
TOC
的目录插件, 插入的目录会比较好看
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于