1. 多级需求和方案设想及其结论(项目根本)
1. 获取父级链
1.1. 根据当前文件, 获取入链父级文件
1.2. 获取入链文件的路径
通过app.metadataCache.getBacklinksForFile(file)获取反链对象
反链对象.data的键名就是入链文件的路径
1.3. 根据入链路径得到入链文件
app.metadataCache.getFirstLinkpathDest(path, path)可以根据path路径获取文件
判断入链文件是否是父级文件
1.2. 直到没有父级文件为止
2. 获取相邻两级文件的标题层级
2.1. 获取低级文件的入链索引位置
获取入链对象
从对象中获取
child::^fa7e7b
2.2. 根据入链位置, 获取其在高级文件中的标题层级
2.1. 通过已有api
3. 确定触发时机
3.1. 有新的入链时
2. 调研材料及2结论(项目动力)
1. 链接一个笔记的可能情况
- 在文中为某个名词或若干个词链接一个笔记, 则可能仅仅是这个名词或句子属于链接笔记中的部分
- 而所属的标题
1.1. 链接作为笔记的子集的情况:
- 一个标题下, 有一行独立的链接
2. 笔记中与子集链接笔记紧密相关的内容
- 子集链接所属的标题层级以及文件名
3. 入链对象
3.1. data属性:
- 键名为有入链的笔记
- 键值为数组
- 数组元素为对象
- 对象中的displayText为显示文本
- 对象中的link为链接
- 对象中的position属性为对象
- 对象中的end和start属性为位置对象
- 位置对象的有col, line, offset
4. 调研代办(项目至始至终都要写):
- 打印反链对象
- 将获取所属标题封装成api
- 思考入链笔记的什么地方还与入链内容紧密相关
- 改进所属标题api, 使其可以适用于任意指定文件
- 怎么从一个文件获取其Editor