Obsidian 插件:Virtual linker(原名Glossary)轻松探测全库潜在双链并生成虚拟链接

[!example] 插件名片

  • 插件名称:Virtual Linker(原名Glossary)
  • 插件作者:Valentin Schröter
  • 插件版本:1.5.2
  • 插件概述:Virtual Linker插件原名Glossary,后以其功能与思源笔记的虚拟引用相近之故,在伟大的calmwares提议下改名。它能自动为笔记中的词句匹配同库中具有相同标题或别名的笔记并生成虚拟链接(virtual link),有助于帮助用户发现潜在的双链关系。
  • 插件项目地址:点我跳转
  • 国内下载地址:下载安装

基本用法

  • 在默认情况下,本插件会自动检索全库笔记,如果当前笔记中有词句与同库其他笔记的标题或别名相同,则会自动将其渲染为虚拟链接,无需人工添加。虚拟链接在编辑模式和阅读模式下均可生效, 如果库或文本内容发生变化,虚拟链接会保持实时更新。
  • 虚拟链接类似于OB原生的内部链接(internal link),可点击跳转,也可将鼠标移至上方调出悬浮窗口查看,但并不会像内部链接那样使用双链语法污染文本,也不会在关系图谱或状态栏中的反链出数统计中显示,但如果想将之转为内部链接也很简单,只消右键点击虚拟链接在菜单中选择Convert to real link命令即可将其转为内部链接,比系统自带出链核心插件的当前笔记中潜在的链接功能更为直观和方便

设置说明(启用Show advanced setting

Matching behavior

  • Include aliases:如启用,匹配范围内笔记的文件属性中的alias(即别名)项也将被纳入匹配范围
  • Only link once:如启用,当前笔记中的匹配词只会在第一次出现时显示为虚拟链接,类似于WIKI百科的样式,有助于保持页面简洁
  • Exclude links to real linked files:如启用, 插件不会为实际存在的内部链接(internal link)添加虚拟链接
  • Include headers:如启用,小标题也会被纳入匹配范围
  • Match any part of a word:如启用,匹配词的任一部分都会参与部分匹配,如禁用,则插件只会进行完全匹配
  • Match the beginning of words:如启用,匹配词的开头部分也会被渲染成虚拟链接,优先级高于Match any part of a word选项,比方说,“note”和“notebook”会匹配
  • Match the end of words:如启用,匹配词的结尾部分也会被渲染成虚拟链接,优先级高于Match any part of a word选项,比方说,“book”和“notebook”会匹配
  • Suppress suffix for sub words:如启用,后缀不会被纳入链接范围,仅在完整匹配模式下生效
  • Fix IME problems:如启用,则在当前行开始处不会实时生成虚拟链接,这是因为在使用输入法输入QWERTY键盘无法输入的语言(比如汉语日语韩语等)时,可能会跟插件发生冲突,如果使用IME输入中文等语言,建议启用此选项
  • Avoid linking in current line:如启用,则在正在编辑的当前行内不会实时生成虚拟链接,可避免分散注意力,等到移到其他行后才会生成虚拟链接

Case sensitivity

  • Case sensitive:如启用,则匹配过程将会区分大小写,用户可为笔记添加标签(标签文本可在Tag to match caseProperty to ignore case选项中自定义)以调整其大小写敏感度
  • Capital letter percentage for automatic match case:大小写敏感的程度百分比
  • Tag to match case:在空白栏中填入特定文本,将其指定为标签,插件对拥有此标签的笔记会区分大小写
  • Property to ignore case:在空白栏中填入特定文本,将其指定为属性名称,插件对拥有此属性名称的笔记,会忽略其被赋于的属性值的大小写
  • property to match case:在空白栏中填入特定文本,将其指定为属性名称,插件对拥有此属性名称的笔记,会区分其被赋于的属性值的大小写

Matched files

  • Include all files
    • 如启用,则全库的笔记都将被插件识别,可在Excluded directories选项中后的空白栏中填入特定文件夹路径,将特定文件夹排除出匹配范围,
    • 如禁用,则可在Glossary Linker directories选项后的空白栏中填入特定文件夹路径,插件会只监测这些文件夹内的笔记名称或别名。
  • tag to include file:在空白栏中填入特定文本,将其指定为标签,插件会监测拥有此标签的笔记的名称或别名
  • tag to ignore file:在空白栏中填入特定文本,将其指定为标签,插件会排除拥有此标签的笔记的名称或别名
  • Exclude self-links to the current file:如启用,则插件不会在本笔记中监测本笔记的名称或别名,如禁用,则插件会在本笔记中监测本笔记的名称或别名,但可能出现bug
  • Exclude directories for generating virual links:在空白栏中填入特定文件夹路径,插件不会在这些文件夹的笔记中生成虚拟链接

Link style

  • Always show multiple references:如启用,则同时有多个匹配结果的虚拟链接将显示多个结果
  • Virtual link suffix:在空白栏中填入文本,将其指定为虚拟链接的后缀,可以是图标也可以是文本,后者默认以上标形式表示
  • Apply default link styling:如禁用,则可在.obsidian/snippets/中添加自定义css样式:
/* 鼠标未在虚拟链接上悬停时的属性 */
.virtual-link.glossary-entry a {
    /* 鼠标未在虚拟链接上悬停时颜色如常 */
    color: inherit;

    /* 将其颜色设定为红色 */
    /* color: red; */

    /* 虚拟链接的下划虚线的粗细、颜色和其他属性也可自定义 */
    text-decoration-thickness: 1px;
    text-decoration-color: rgb(var(--color-purple-rgb), 0.6);
    text-underline-position: under;
    /* text-decoration-style: dotted; */
    /* text-underline-offset: 0em; */
}

/* 鼠标未在虚拟链接上悬停时的属性 */
.virtual-link.glossary-entry a:hover {
    color: var(--link-color);
}
  • Use default link style for conversion:如启用,则自定义链接样式将在虚拟链接内部链接的转变中生效