一、概述
小书匠从 7.9.3
版本开始支持内部链接功能。通过内部链接,用户可以在文章之间相互引用。
二、如何使用内部链接
目前小书匠支持三种方式的内部链接
1. 小书匠文章内部 id
通过小书匠文章内部 id 做为链接的引用,可以保证文章的唯一性,但对于用户识别性可能不太友好
- 在文件列表面板里,鼠标右键对应的文章,选择
复制为链接
, 系统将使用该文章的内部 id 做为链接复制到剪切板里.
- 在需要引用的文章上,直接 ctrl+v 将剪切板内的内容复制过来
注: 如果复制的文章内定义了 slug
元数据, 系统将直接使用该 slug
做为内部链接的标识
2. 文章标题
通过文章标题做为链接的引用, 用户可以很方便的识别引用的文章, 但很容易出现多篇同名的文章
- 直接在编辑器内通过链接的语法,将想要引用的文章标题放入链接处即可
- CodeMirror 编辑器下,提供了自动提示选择功能,方便用户快速输入文章标题
注: 在自动提示选择里,如果文章内定义 slug
元数据, 系统将使用使用该 slug
做为内部链接的标识
3. 自定义 slug
- 在被引用的文章上添加元数据 slug,比如
- 1---
- 2title: 被引用的文章
- 3slug: /other/file
- 4---
- 在需要引用的文章上,像使用链接语法一样,将被引用的文章上的 slug 值做为链接地址即可。类似
- 1将要跳转到其他[文章](/other/file)上去
三、文章内跳转
目前系统提供三种方式可以进行文章快速跳转。
- 在 CodeMirror 内置编辑器上,将鼠标移到链接文字上方,如果该链接在小书匠内有对应的文章,系统将会列出所有符合的文章列表。
- 在预览区里,将鼠标移到链接文字的上方,如果该链接在小书匠内有对应的文章,系统将会列出所有符合的文章列表。(注:直接点击文章链接无效)
- 通过小书匠链接关系图界面,双击相应的文章进行跳转
四、带锚的链接跳转
通过带锚的链接功能,用户可以跳转到文章中的指定一个位置上。
1. 定义一个锚点
如果用户开启了 grammar_decorate 语法功能,可以通过 <!--{#锚点内容}-->
这样的格式添加一个锚点。(系统默认打开了该语法)
- 1---
- 2title: 小书匠锚位置测试
- 3slug: 小书匠/示例/测试锚
- 4grammar_decorate: true
- 5---
- 6## 小书匠锚位置<!-- {#hashTag} -->
如果用户开启了 grammar_attrs 语法功能,可以通过 {#锚点内容}
这样的格式添加一个锚点。(系统默认没有打开该语法)
- 1---
- 2title: 小书匠锚位置测试
- 3slug: 小书匠/示例/测试锚
- 4grammar_attrs: true
- 5---
- 6## 小书匠锚位置{#hashTag}
如果用户既没有打开 grammar_decorate 语法 也没有打开 grammar_attrs 语法,系统默认查找当前小标题的文字内容做为锚点,以匹配的第一个小标题为结果。
如果小标题里的内容还是没有满足要查找的锚点,系统将扩大查找范围,直接查找整篇文章里匹配的第一个锚点内容。
- 1---
- 2title: 小书匠锚位置测试
- 3slug: 小书匠/示例/测试锚
- 4---
- 5## 小书匠锚位置
2. 对锚点的定位
只要在链接的结尾添加上 #锚点名称
即可,当通过小书匠之间的文章跳转时,将自动跳转到对应文章的锚点位置上。
- 1[小书匠另外一篇文章的指定位置](小书匠/示例/测试锚#hashTag)
- 1[小书匠另外一篇文章的指定位置](小书匠/示例/测试锚#小书匠锚位置)
五、链接关系图
链接关系图显示了当前打开的文章引用的其他文章之间的关系图。
点击编辑区右侧的 按钮,可以进入当前文章的链接关系图界面。
1. 操作说明
- 双击标签节点, 将在文章列表区域显示出所有该标签对应的文章
- 双击当前文章节点, 将在文章列表区域显示出该文章被哪些文章引
- 双击其他文章节点, 将切换该文章为当前文章
- 单击当前文章引用的文章节点,将在编辑器内滚动到对应的引用文字位置上
- 单击当前文章指向的外部链接,将在编辑器内滚动到对应的引用文字位置上