Tools-kit——插件——一个聚合多文本处理功能的插件

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

为了便于使用下面将要介绍的功能,把常用的功能都添加到编辑器右键菜单中

Tools-kit——插件——一个聚合多文本处理功能的插件--

一 - 特性效果

1.1- 标题的编号

Note

由于此功能考虑 Obsidian 外的环境下使用, 因此为了兼容 Markdow 语法, 即能成功解析 TOC 链接, TOC 格式为 [显示文本](锚链接)

[一级标题](#一级标题) 中 锚链接部分不应存在空格 (其他已有的相关社区插件,都是用 空格来分隔 编号 和 标题文本部分,如 1.1.2 标题文本) 。而 此插件功能则采用短横线分隔,生成的编号结果格式为 1.1.2-标题文本

Important

此功能采取一个文档仅一个一级标题的规范,因此编号从第一个二级标题(##) 开始。

特别地,为了增加不同的层级的辨识度,为二级标题的编号提供了额外的(汉字)编号风格(默认为 数字 1.1.2 xxx),编号后看起来像这样 一-xxxx

可以在插件设置中配置:
Tools-kit——插件——一个聚合多文本处理功能的插件--1.1- 标题的编号

使用之前

# 我是一级标题
## 我是二级标题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 

预览效果:

Tools-kit——插件——一个聚合多文本处理功能的插件--1.2- 目录  的生成

1.3- 批量给二级标题添加“回到顶部”链接

Info

此功能结合 【目录 TOC 的生成】 功能,可以实现迅速跳转到文档最上方目录(TOC)位置,知晓文档内容结构,然后跳转到指定标题位置详细查看内容。

Important

此功能生成的 链接 会自动创建在 文档中 二级标题上方

使用和之前几个功能类似, 也提供的设置选项,有两个风格选择。即显示的文本 ①中文 [回到顶部](#一级标题) 或 ② 英文 [Back to top](#一级标题)

Tools-kit——插件——一个聚合多文本处理功能的插件--1.3- 批量给二级标题添加“回到顶部”链接

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 

效果:

Tools-kit——插件——一个聚合多文本处理功能的插件--1.3- 批量给二级标题添加“回到顶部”链接

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>

效果:

Tools-kit——插件——一个聚合多文本处理功能的插件--1.4- 批量给文档中的图片生成实体图注

Important

此功能支持多个链接风格,考虑到多种情况

  1. Markdown 链接
  2. Wiki 链接

几种情况

  1. Markdow 链接
  2. ![显示文字](链接) 中的 显示文字作为图注文本,没有则将 链接中图片部分的文本作为图注文本,如 ..\aa\bb\图片名.png,仅选取 图片名,而忽略后缀或前面的路径
  3. Wiki 链接
  4. ![[链接 | 别名]] 中的 别名作为 图注文本,没有则将 链接图片部分的文本作为图注文本,如 ..\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>

效果:

对比上下两个图片的图注文字部分

Tools-kit——插件——一个聚合多文本处理功能的插件--1.4- 批量给文档中的图片生成实体图注

(完)

讨论

若阁下有独到的见解或新颖的想法,诚邀您在文章下方留言,与大家共同探讨。



反馈交流

其他渠道

版权声明