# Tag Group Manager ![GitHub all releases](https://img.shields.io/github/downloads/stargazer-cc/obsidian-tag-group-manager/total?color=success) - [English](https://github.com/Stargazer-cc/addtags/blob/main/README-EN.md) - 更详细的介绍 [前往Obsidian中文论坛](https://forum-zh.obsidian.md/t/topic/47614) ## 简介 Tag Group Manager 是一个为 Obsidian 设计的插件,用于管理和快速插入标签。它允许用户创建自定义标签组,并通过浮动窗口快速将标签插入到笔记中,提高笔记整理和分类的效率。 ![image](https://github.com/Stargazer-cc/obsidian-tag-group-manager/blob/dev/%E5%BC%80%E5%90%AF%E9%A2%9C%E8%89%B2%E8%AE%BE%E7%BD%AE.png) ## 功能简介 - **标签组管理**:创建、编辑和删除自定义标签组 - 支持手动添加标签,这意味着可以在不同组中添加同一个标签 - 支持从笔记库中已有的标签中添加,带有筛选功能,不会被重复添加 - 支持批量筛选添加标签,可以一次性添加多个标签到组中,激活的按钮会变绿并显示"确认选择",清楚表示当前状态 - **标签组集 (Tag Group Sets)**:将多个标签组组织成一个集合,方便在不同场景间切换 - **一键切换**:在标签总览视图中,通过组名下方的按钮快速切换不同的标签组集 - **独立排序**:每个组集拥有独立的标签组排序,互不干扰 - **灵活管理**:支持创建、编辑、删除组集,自定义名称和图标(Lucide) - **浮动标签选择器**:可拖动、可固定的标签选择界面 - **标签组与浮动标签选择器一一对应**:每新建一个标签组,就会注册一个浮动标签选择器生成命令 - **快速插入标签**:通过命令面板或者快捷键快速调用某组标签选择器,实现快速插入 - **使用后自动变暗**:已使用的标签会切换成另一个状态,避免重复添加,此过程可重置循环 - **标签总览视图**:位于右侧菜单栏的功能集成中心 - **插入模式切换**:通过点击任意标签组名称在排序/插入模式间切换 - **排序模式**:排序模式下,支持标签组拖拽排序,支持标签跨组排序,标签组名上方显示拖拽句柄 - **插入模式**:插入模式下,点击直接插入标签 - **组集切换**:通过点击任意标签组集名下方的图标按钮切换不同的标签组集 - **标签组排序**:支持标签组拖拽排序,支持标签跨组排序,标签组名上方显示拖拽句柄 - **全方位标签插入支持** - **源代码YAML 区域**:源码模式和实时预览模式下的 YAML frontmatter 区域 - **实时预览或者阅读模式的笔记属性面板**:直接点击插入图形界面tags属性的值,无需切换到源码模式 - **Canvas 画布支持**:在 Canvas 卡片和内嵌文档中直接插入标签 - **搜索框**:支持在Obsidian的各类搜索框中直接插入标签 - **其他插件支持**:支持在其他插件的输入框或者编辑器区域中插入标签 - **自定义标签颜色**:为标签设置个性化颜色 - **颜色设置总开关**:一键开启/关闭标签颜色功能,不影响已保存的配置 - **单标签颜色设置**:左键单击设置页面标签组设置中的标签即可打开颜色设置弹窗 - **七种预设颜色**:提供彩虹目录风格的七种预设颜色(红、蓝、绿、橙、紫、青、粉) - **自定义颜色**:支持添加自定义颜色至颜色槽位,自动保存最近使用的7种颜色 - **批量颜色设置**:独立设置区域,支持普通字符串匹配和正则表达式匹配 - **统一视觉风格**:开启后全体标签应用柔和渐变背景样式 - **多语言支持**:自动检测Obsidian语言设置 - 中文用户显示中文界面 - 其他语言用户显示英文界面 - **快速清除整篇笔记中的全部标签** - 选中笔记后的右键菜单中有这个命令 ## 安装方法 ### 官方市场安装 直接在Obsidian的插件市场搜索"Tag Group Manager",然后点击安装即可。 ### 手动安装 1. 下载最新版本的发布包 2. 解压缩下载的文件 3. 将解压后的文件夹复制到 Obsidian 插件目录:`{your-vault}/.obsidian/plugins/` 4. 重启 Obsidian或刷新第三方插件 5. 在设置中启用插件 ## 使用方法 ### 创建标签组 1. 打开 Obsidian 设置 2. 进入「Tag Group Manager」设置选项卡 3. 点击「添加标签组」按钮 4. 输入标签组名称 5. 在标签组下方添加需要的标签(不需要输入 # 符号) ![](https://github.com/Stargazer-cc/obsidian-tag-group-manager/blob/main/4.gif) ### 创建标签组集 (Tag Group Sets) 1. **创建组集**:在设置页面中创建新的组集,选择包含的标签组并设置图标。 2. **切换视图**:在标签总览视图中,点击任意标签组名下方的图标按钮。 3. **选择场景**:在弹出的菜单中选择要切换的组集,或选择"总览 (Home)"查看所有标签组。 4. **独立排序**:在特定的组集视图下,拖拽标签组进行排序,该顺序会被独立保存。 ### 设置标签颜色 1. **单个标签颜色设置**:左键单击设置页面标签组设置中的标签即可打开颜色设置弹窗进行设置。 2. **批量颜色设置**:在设置页面的独立设置区域,通过普通匹配或者条件匹配,对满足条件的标签直接应用颜色或者清除颜色恢复默认。 3. **颜色选择弹窗**:以上两种颜色设置共用颜色选择弹窗,选择颜色后点击确定即可。 **预设颜色**:提供彩虹风格的七种预设颜色(红、蓝、绿、橙、紫、青、粉),点击即可应用。 **自定义颜色** **默认保存**:输入颜色值后,可点击应用颜色按钮应用颜色,自动保存最近使用的7种颜色,从左往右循环保存。 **主动保存**:完成颜色输入后,左键点击槽位添加,右键点击槽位删除,最好优先保存在最右侧,防止默认保存覆盖。 注意: 1. 如果你希望自定义的颜色更加和谐美观,需要避免使用太过暗淡的颜色。 2. 开启了颜色设置后,标签的样式对浅色界面的适配更好,尽管已经对深色界面进行了适配,但仍然可能会有一些不太和谐的情况,如果你比较喜欢更简洁,适配通用性更强的标签样式,可以关闭颜色设置。如下图所示:使用默认的主题色 ![关闭颜色设置](https://github.com/Stargazer-cc/obsidian-tag-group-manager/blob/dev/%E5%85%B3%E9%97%AD%E9%A2%9C%E8%89%B2%E8%AE%BE%E7%BD%AE.png) ### 使用标签选择器 1. **启动**:在光标处于编辑器区域时,才会出现该命令,打开命令面板(Ctrl/Cmd + P) 2. **搜索**:搜索「在此处插入」,会显示所有已创建的标签组,选择需要使用的标签组, 3. **插入**:在弹出的标签选择器中,点击需要插入的标签,标签会自动插入到光标位置,并且变灰。 4. **循环使用**:点击标签选择器左上角的循环按钮,即可循环使用当前标签组的标签。 5. **刷新**:当标签组添加了新标签时,shift + 点击标签选择器右上角的循环按钮,即可刷新当前标签组的标签。 ![](https://github.com/Stargazer-cc/obsidian-tag-group-manager/blob/main/3.gif) ### 标签总览视图 - **启动**:点击左侧功能区的星星图标激活该视图 - **切换模式**:点击任意标签组名称在排序/插入模式间切换,排序模式下,拖动任意标签进行排序,拖动拖拽句柄进行标签组排序。 - **切换组集显示**:点击任意标签组名称下方的图标按钮,即可选择要切换到的组集,默认为总览。 - **刷新**:当标签组添加了新标签时,点击任意标签组名称即可刷新当前标签组的标签。 ![](https://github.com/Stargazer-cc/obsidian-tag-group-manager/blob/main/6.gif) ## 配置说明 在插件设置页面,你可以: ### 阅读操作指南区域 - 浮动标签选择器和标签总览页面的关键操作说明 ### 颜色设置 - **启用自定义标签颜色**:总开关,开启后可以为不同的标签设置个性化颜色 - **单标签颜色设置**:在标签组设置区域,左键单击任意标签打开颜色设置弹窗 - 选择预设的彩虹目录风格颜色(红、蓝、绿、橙、紫、青、粉) - 或使用自定义颜色选择器,自动保存最近使用的7个颜色 - **批量颜色设置**:独立设置区域,支持普通字符串匹配和正则表达式匹配 ### 标签组集配置 - **新增或者删除组集** - **配置组集**:点击笔图标进行命名、图标配置[Lucide图标名获取](https://lucide.dev/)、组内标签组选择 ### 标签组管理 - 创建多个标签组,每个组可以包含不同类型的标签 - 编辑标签组名称(直接在组容器内编辑) - 添加或删除标签组中的标签 - 删除不再需要的标签组 - 从标签库中添加标签 - 批量筛选添加多个标签 ![](https://github.com/Stargazer-cc/obsidian-tag-group-manager/blob/main/4.png) ## 正则表达式语法指导 在批量颜色设置中,您可以使用正则表达式来匹配多个标签。以下是一些常用的正则表达式语法: ### 基础语法 | 语法 | 说明 | 示例 | 匹配结果 | |------|------|------|----------| | `.` | 匹配任意单个字符 | `电.` | 电影、电视、电脑 | | `*` | 匹配前面的字符0次或多次 | `科.*` | 科幻、科技、科学幻想 | | `+` | 匹配前面的字符1次或多次 | `编程+` | 编程、编程程 | | `?` | 匹配前面的字符0次或1次 | `读书?` | 读、读书 | | `^` | 匹配字符串开头 | `^电影` | 电影(但不匹配"看电影") | | `$` | 匹配字符串结尾 | `笔记$` | 读书笔记(但不匹配"笔记本") | | `\|` | 或运算符 | `电影\|电视` | 电影 或 电视 | | `[]` | 字符集合 | `[电视音]乐` | 电乐、视乐、音乐 | | `[^]` | 否定字符集 | `[^电]影` | 音影、视影(但不匹配"电影") | ### 实用示例 | 需求 | 正则表达式 | 说明 | |------|------------|------| | 匹配所有以"电"开头的标签 | `^电.*` | 如:电影、电视、电脑 | | 匹配所有包含"笔记"的标签 | `.*笔记.*` | 如:读书笔记、工作笔记、笔记本 | | 匹配"电影"或"电视" | `^(电影\|电视)$` | 精确匹配这两个标签 | | 匹配所有数字标签 | `^\d+$` | 如:2023、001、42 | | 匹配包含年份的标签 | `.*20\d{2}.*` | 如:2020年、电影2023 | | 匹配多级标签 | `.*\/.*` | 如:工作/项目、学习/编程 | | 匹配特定前缀 | `^(工作\|学习\|生活)` | 所有以这三个词开头的标签 | ### 注意事项 1. **转义字符**:某些特殊字符需要用反斜杠 `\` 转义,如 `\.`、`\*`、`\+` 等 2. **大小写**:正则表达式默认区分大小写 ## 使用场景 - 日常使用标签,想要快速插入标签 - 标签库数量庞大,需要分类整理 - 常常用Tag管理电影库、书库等档案库类个人收录库 ## 常见问题 **Q: 为什么我的标签组没有显示在命令面板中?** A: 你必须处在可编辑视图中才能调用这些命令。 **Q: 如何让在设置页面实时添加的标签出现在已经打开的标签选择器中和总览页面?** A: 已经存在的标签选择器中:shift+点击循环图标 将会刷新当前标签选择器;标签总览页面中:点击任意标签组名称将会刷新并切换模式。 **Q: 插件支持哪些输入环境?** A:插件全面支持各种输入环境: - **源码模式 YAML 区域**:使用 YAML 格式插入(`- 标签名`),修复了连续插入时光标跳出的问题 - **实时预览属性面板**:直接点击插入到 Properties (YAML) 视图,无需切换模式 - **Canvas 画布**:在 Canvas 卡片和内嵌文档中直接插入标签 - **Markdown 正文**:使用标签格式插入(`#标签名`) - **其他插件的输入框**:统一使用`#标签名`格式,连续插入时自动空格分隔 ## 反馈与支持 如果你有任何问题、建议或反馈,请通过以下方式联系: - 在 GitHub 上提交 Issue - 通过 Obsidian 论坛发送消息 ## 许可证 [MIT License](LICENSE)