适用范围:

1. 作用:

  • 提供简单的同义词系统
    • 支持合并同义词
    • 一键重命名同义词
      • 支持重命名breadcrumbs的标签类型字段
        • bc-tag-note-tag: #标签
    • 支持多级标签, 且支持同时具有多个父级标签链, 具备网的结构
    • 支持使用一个同义词修饰另一个同义词
  • 提供强大的关键词捕捉功能
  • 简化导入的同义词标签

2. 场景

  • 作为obsidian的插件

梗概:

qql1自己开发的同义词系统, 基于obsidian的标签

同义词系统标准:

基本遵守obsidian标签机制

child::obsidian 标签机制

1. 同义词组标签语法

1.1. 实例

  • #关键字1-关键词2-(注释标签1-注释标签2)关键词3
  • #aa-bb-(ee-(gg-hh,ii-jj;kk-)ff)cc-dd

1.2. 说明

  • 一定要有横杠, 这个标签才会被视为同义词标签

注释标签

  • 必须使用中文的圆括号,并紧跟在指定同义词前面
  • 用于解释的同义词标签 不能具有层级
    • 直接用子标签单独表示即可
  • 注释标签可以嵌套使用
  • 可以有多个注释标签
  • 多个注释标签之间使用逻辑运算符连接 ^7227c6
    • 等同于js的!
    • 等同于js的&&
    • 等同于js的||
    • 不区分大小写
    • 可以使用【】调整逻辑运算的优先级

新建同义词组

  • 直接在谋篇笔记中按照同义词组语法,新建一个obsidian标签即可

2. 为用户端提供的遍便利服务

2.1. 支持导入与本文相关的同义词

  • 当打开一个还没有导入过同义词的文档时, 会自动进行导入
  • 可以手动导入
    • 一般设置为F5按键

2.2. 一键合并全库有交集的同义词

2.3. 一键重命名指定标签

选中指定标签后(选择性包含#井号), 然后执行重命名命令

3. 实现细节

  • 有效代码行数:2000行
    • 截止24-04-20
  • 技术栈: got、正则表达式
  • 重点:括号匹配、嵌套逻辑表达式求值、文本处理(提取指定规则内的字符串、js配合正则实现复杂匹配)、基本功能层层封装、DOM事件

功能

3.1. 导入与本文相关的同义词

child::导入与本文相关的同义词技术细节

同义词组的管理

存储与访问同义词组
  • 作为obsidian标签进行存储
  • 通过obAPI获取所有标签,然后做筛选
3.2. 一键合并全库有交集的同义词组
3.3. 一键重命名指定标签
新增同义词组

直接新增Obsidian标签

father:: synonym插件, 更全面的注释标签功能(完毕)