大概背景
事情的起因还是因为做笔记,我喜欢利用插件Obsidian Git自动同步笔记到Gitee
,写md
文档有个问题就是关于图片如何存储。
我个人习惯是将所有图片都保存到指定的文件夹下,如图👇
由于Obsidian
对粘贴图片默认格式为这样的:![[Pasted image 20240802143131.png]]
这是Obsidian
特有的,并不对md
文档通用,于是在码云上在线浏览,图片将无法展示。
于是就迫切的希望有一种插件,能够将粘贴得图片进行格式化,比如
这种markdown
通用语法。
实际上,还真有:Image Classify Paste
,然而此插件并没有完成全部的功能,于是有了下面的插件开发正文。
插件安装
Obsidian
的插件和其他应用程序略有差别,每一个Vault
仓库对应了自己的所属插件,比如我新建一个Vault
仓库,那么这个仓库默认是没有插件的。
关于vault
的概念,对应本地的一个文件夹,为obsidian
中的顶级目录。
可以看到目录中存在一个隐藏文件.obsidian/plugins
,实际上这就是插件目录,每个vault
仓库都有自己的插件。通过在Obsidian
应用程序中安装插件(设置 > 第三方插件 > 插件市场浏览安装
),其实就是下载插件文件夹到此目录下。
由于各种原因,国内有时候无法正常访问,应该说大部份时候都无法浏览插件和安装插件,需要git
加速,这里推荐使用dev-sidecar。
也可以通过插件obsidian-proxy-github实现,但是由于长时间无人维护,内置的一些加速网址其实已经不好用了,或者说完全用不了了,因此并不推荐。
安装方式
Obsidian
内直接安装
前提是你已经可以Git
加速正常访问插件市场。
直接下载文件安装
无论你从哪里找到的资源,通常来讲都是github
,你只需要下载下来解压缩,然后将此插件目录放到你的vault
仓库下的.obsidian/plugin
目录下即可。
Mac通过
Command + Shift + .在访达中查看隐藏文件
插件启动和设置
无论哪种方式安装的插件,最后都需要启用(默认是不启用的)。
左下角第三方插件可进行设置。
插件开发
插件本质是JavaScript
,所以进行Obsidian plugin
的开发其实就是js
语言的使用。
官方有很好的指导手册:Obsidian Docs
插件目录结构
正常插件目录结构如下:
main.js
核心部分,所有插件功能都在这里实现。
快速入门参考官方指导:# Obsidian Developer Docs
manifest.json
插件的描述信息,这些信息将在社区插件市场浏览展示用。
{
"id": "image-classify-paste",
"name": "Image Classify Paste",
"version": "0.1.4"