Tools-kit——插件——一个聚合多文本处理功能的插件
插件名片
- 插件名称:Obsidian-Tools-kit
- 插件版本:0.5.1
- 插件作者:Nathaniel
- 插件描述:聚合多种处理 markdown 文档的工具
- 插件项目地址:点我跳转
Warning因某些因素,该插件目前暂未考虑上架社区插件,如需使用,请使用 obsidian42-brat 插件安装。如不信任此插件,则可以不使用 😄
Info由于此插件很多功能(feature)是根据个人需求创作的, 并且定位为一个聚合工具包,因此主要介绍几个典型的功能选项,以供参考。
因此插件的定位,未来可能会新增用于文本处理的功能或者其他实用的功能。本插件对外保持开放策略,如果有好的想法或建议,欢迎可以在 github issue 提出,有条件会考虑实现。如果有特殊的(定制化)的需求,也可以讨论交流。
与 markdown 文档处理有关的功能特性(主要考虑在 非 Obsidian 环境的平台上使用。比如个人博客,第三方平台)
- 标题的编号(生成,更新,删除)
- 目录 TOC 的生成(生成,更新,删除)
- 批量给二级标题添加“回到顶部”链接(生成,更新,删除)
- 批量给文档中的图片生成实体图注(生成,更新,删除)
- 批量添加指定内容到文档空行
- 根据文件名生成 frontmatter 区指定字段 MD5 字段值
其他功能特性
- 解析 frontmatter 区中的链接为外部可访问链接(仅阅读模式下)
- 复制正文(不包括 frontmatter 区)的内容到剪切板
下面简单介绍,演示各个功能的详细使用, 不过从描述上应该可以知道大概用法
Important为了便于使用下面将要介绍的功能,把常用的功能都添加到编辑器右键菜单中
一 - 特性效果
1.1- 标题的编号
Note由于此功能考虑 Obsidian 外的环境下使用, 因此为了兼容 Markdow 语法, 即能成功解析 TOC 链接, TOC 格式为
[显示文本](锚链接)
。
[一级标题](#一级标题)
中 锚链接部分不应存在空格 (其他已有的相关社区插件,都是用 空格来分隔 编号 和 标题文本部分,如1.1.2 标题文本
) 。而 此插件功能则采用短横线分隔,生成的编号结果格式为1.1.2-标题文本
Important此功能采取一个文档仅一个一级标题的规范,因此编号从第一个二级标题(
##
) 开始。特别地,为了增加不同的层级的辨识度,为二级标题的编号提供了额外的(汉字)编号风格(默认为 数字
1.1.2 xxx
),编号后看起来像这样一-xxxx
可以在插件设置中配置:
使用之前
# 我是一级标题
## 我是二级标题a
### 我是三级标题a
### 我是三级标题b
### 我是三级标题c
## 我是二级标题b
### 我是三级标题a
### 我是三级标题b
### 我是三级标题c
## 我是二级标题c
### 我是三级标题a
### 我是三级标题b
### 我是三级标题c
使用之后
# 我是一级标题
## 一-我是二级标题a
### 1.1-我是三级标题a
### 1.2-我是三级标题b
### 1.3-我是三级标题c
## 二-我是二级标题b
### 2.1-我是三级标题a
### 2.2-我是三级标题b
### 2.3-我是三级标题c
## 三-我是二级标题c
### 3.1-我是三级标题a
### 3.2-我是三级标题b
### 3.3-我是三级标题c
1.2- 目录 TOC 的生成
Info此功能和 【标题的编号】功能结合使用更佳 。
此功能加上后续的 【批量给二级标题添加“回到顶部”链接】都是为了方便地在文档中导航。特别地当单个 Markdow 文档内容很长时,内容导航需求很重要,方便定位自己当前的位置,在不同标题之间跳转。
Important此功能生成的 TOC 会自动创建在 文档中 (第一个)一级标题上方
使用之前
# 我是一级标题
## 一-我是二级标题a
### 1.1-我是三级标题a
### 1.2-我是三级标题b
### 1.3-我是三级标题c
## 二-我是二级标题b
### 2.1-我是三级标题a
### 2.2-我是三级标题b
### 2.3-我是三级标题c
## 三-我是二级标题c
### 3.1-我是三级标题a
### 3.2-我是三级标题b
### 3.3-我是三级标题c
使用之后
- [一-我是二级标题a](#一-我是二级标题a)
- [1.1-我是三级标题a](#1.1-我是三级标题a)
- [1.2-我是三级标题b](#1.2-我是三级标题b)
- [1.3-我是三级标题c](#1.3-我是三级标题c)
- [二-我是二级标题b](#二-我是二级标题b)
- [2.1-我是三级标题a](#2.1-我是三级标题a)
- [2.2-我是三级标题b](#2.2-我是三级标题b)
- [2.3-我是三级标题c](#2.3-我是三级标题c)
- [三-我是二级标题c](#三-我是二级标题c)
- [3.1-我是三级标题a](#3.1-我是三级标题a)
- [3.2-我是三级标题b](#3.2-我是三级标题b)
- [3.3-我是三级标题c](#3.3-我是三级标题c)
# 我是一级标题
## 一-我是二级标题a
### 1.1-我是三级标题a
### 1.2-我是三级标题b
### 1.3-我是三级标题c
## 二-我是二级标题b
### 2.1-我是三级标题a
### 2.2-我是三级标题b
### 2.3-我是三级标题c
## 三-我是二级标题c
### 3.1-我是三级标题a
### 3.2-我是三级标题b
### 3.3-我是三级标题c
预览效果:
1.3- 批量给二级标题添加“回到顶部”链接
Info此功能结合 【目录 TOC 的生成】 功能,可以实现迅速跳转到文档最上方目录(TOC)位置,知晓文档内容结构,然后跳转到指定标题位置详细查看内容。
Important此功能生成的 链接 会自动创建在 文档中 二级标题上方
使用和之前几个功能类似, 也提供的设置选项,有两个风格选择。即显示的文本 ①中文 [回到顶部](#一级标题)
或 ② 英文 [Back to top](#一级标题)
。
Question感觉将链接放置到 每个标题的 最后方,用箭头符号 ↑ 来作为显示文本比较好,避免太多文字的干扰?
[↑](#一级标题)
使用之前
- [一-我是二级标题a](#一-我是二级标题a)
- [1.1-我是三级标题a](#1.1-我是三级标题a)
- [1.2-我是三级标题b](#1.2-我是三级标题b)
- [1.3-我是三级标题c](#1.3-我是三级标题c)
- [二-我是二级标题b](#二-我是二级标题b)
- [2.1-我是三级标题a](#2.1-我是三级标题a)
- [2.2-我是三级标题b](#2.2-我是三级标题b)
- [2.3-我是三级标题c](#2.3-我是三级标题c)
- [三-我是二级标题c](#三-我是二级标题c)
- [3.1-我是三级标题a](#3.1-我是三级标题a)
- [3.2-我是三级标题b](#3.2-我是三级标题b)
- [3.3-我是三级标题c](#3.3-我是三级标题c)
# 我是一级标题
## 一-我是二级标题a
### 1.1-我是三级标题a
### 1.2-我是三级标题b
### 1.3-我是三级标题c
## 二-我是二级标题b
### 2.1-我是三级标题a
### 2.2-我是三级标题b
### 2.3-我是三级标题c
## 三-我是二级标题c
### 3.1-我是三级标题a
### 3.2-我是三级标题b
### 3.3-我是三级标题c
使用之后
- [一-我是二级标题a](#一-我是二级标题a)
- [1.1-我是三级标题a](#1.1-我是三级标题a)
- [1.2-我是三级标题b](#1.2-我是三级标题b)
- [1.3-我是三级标题c](#1.3-我是三级标题c)
- [二-我是二级标题b](#二-我是二级标题b)
- [2.1-我是三级标题a](#2.1-我是三级标题a)
- [2.2-我是三级标题b](#2.2-我是三级标题b)
- [2.3-我是三级标题c](#2.3-我是三级标题c)
- [三-我是二级标题c](#三-我是二级标题c)
- [3.1-我是三级标题a](#3.1-我是三级标题a)
- [3.2-我是三级标题b](#3.2-我是三级标题b)
- [3.3-我是三级标题c](#3.3-我是三级标题c)
# 我是一级标题
[Back-To-Top](#我是一级标题)
## 一-我是二级标题a
[Back-To-Top](#我是一级标题)
### 1.1-我是三级标题a
[Back-To-Top](#我是一级标题)
### 1.2-我是三级标题b
[Back-To-Top](#我是一级标题)
### 1.3-我是三级标题c
[Back-To-Top](#我是一级标题)
## 二-我是二级标题b
[Back-To-Top](#我是一级标题)
### 2.1-我是三级标题a
[Back-To-Top](#我是一级标题)
### 2.2-我是三级标题b
[Back-To-Top](#我是一级标题)
### 2.3-我是三级标题c
[Back-To-Top](#我是一级标题)
## 三-我是二级标题c
[Back-To-Top](#我是一级标题)
### 3.1-我是三级标题a
[Back-To-Top](#我是一级标题)
### 3.2-我是三级标题b
[Back-To-Top](#我是一级标题)
### 3.3-我是三级标题c
效果:
1.4- 批量给文档中的图片生成实体图注
Important此功能也是为了用于 Obsidian 外的场景下,对文档中的图片(附件)添加图注说明信息。
Info为了预览的效果,采用了 HTML 标签
<center>
对 生成的图注文本居中对齐,可能有些编辑器不支持 HTML 标签,这样就会显示 HTML 标签代码,影响内容查看(后续考虑增加可选选项采用纯文本),不过这样的话,图注文本默认是左对齐(不过效果还行)
使用之前
# heading
## 1
![](attachs/Pasted%20image%2020230722213706.png)
## 2
![](attachs/Pasted%20image%2020230722213715.png)
![](attachs/Pasted%20image%2020230722213747.png)
## 3
![](attachs/Pasted%20image%2020230722213723.png)
![](attachs/Pasted%20image%2020230722213732.png)
使用之后
# heading
## 1
![](attachs/Pasted%20image%2020230722213706.png)
<center>Figure 1-1-Pasted%20image%2020230722213706</center>
## 2
![](attachs/Pasted%20image%2020230722213715.png)
<center>Figure 2-1-Pasted%20image%2020230722213715</center>
![](attachs/Pasted%20image%2020230722213747.png)
<center>Figure 2-2-Pasted%20image%2020230722213747</center>
## 3
![](attachs/Pasted%20image%2020230722213723.png)
<center>Figure 3-1-Pasted%20image%2020230722213723</center>
![](attachs/Pasted%20image%2020230722213732.png)
<center>Figure 3-2-Pasted%20image%2020230722213732</center>
效果:
Important此功能支持多个链接风格,考虑到多种情况
- Markdown 链接
- Wiki 链接
几种情况
- Markdow 链接
- 将
![显示文字](链接)
中的 显示文字作为图注文本,没有则将 链接中图片部分的文本作为图注文本,如..\aa\bb\图片名.png
,仅选取 图片名,而忽略后缀或前面的路径- Wiki 链接
- 将
![[链接 | 别名]]
中的 别名作为 图注文本,没有则将 链接图片部分的文本作为图注文本,如..\aa\bb\图片名.png
,仅选取 图片名,而忽略后缀或前面的路径因为 Obsidian 中的链接有多种风格
- 最短
- 相对
- 绝对
因此要考虑到有目录路径的情况
假设 为 上面的示例内容中的其中一个图片添加显示文本
## 3
![我是markdown链接中的显示文本,我将会作为图注的内容](attachs/Pasted%20image%2020230722213723.png)
![](attachs/Pasted%20image%2020230722213732.png)
生成的图注文本如下
## 3
![我是markdown链接中的显示文本,我将会作为图注的内容](attachs/Pasted%20image%2020230722213723.png)
<center>Figure 3-1-我是markdown链接中的显示文本,我将会作为图注的内容</center>
![](attachs/Pasted%20image%2020230722213732.png)
<center>Figure 3-2-Pasted%20image%2020230722213732</center>
效果:
对比上下两个图片的图注文字部分
(完)
讨论
若阁下有独到的见解或新颖的想法,诚邀您在文章下方留言,与大家共同探讨。
反馈交流
其他渠道
版权声明
版权声明:所有 PKMer 文章如果需要转载,请附上原文出处链接。