构建插件
插件让您可以使用属于自己的特性来拓展Obsidian,创造一种自定义的笔记体验。
在这个指南里,您可以从源码中编译一个范例插件并加载到Obsidian中。
您将学会
在完成这个指南后,您将可以:
- 设置开发Obsidian插件的环境
- 从源码编译一个插件。
- 在做出一些改动后,重载插件。
前提条件
为完成本指南,您需要:
- 在您的本地计算机上安装Git
- 一个Node.js的本地开发环境
- 一个代码编辑器,比如:Visual Studio Code
在开始之前
当开发插件时,一个失误就可能会导致您的仓库出现意外。为防止数据丢失,创建一个空仓库.
第1步:下载范例插件
在这一步中,你会下载一个范例插件plugins
文件夹到你的仓库中的.obsidian
文件夹中,以便Obsidian可以找到它。
在指南中要用到的范例插件也可以在GitHub 仓库中找到。
-
打开一个终端窗口并将项目目录更改到
plugins
文件夹下面cd path/to/vault mkdir .obsidian/plugins cd .obsidian/plugins
-
使用Git将范例插件克隆下来
git clone https://github.com/obsidianmd/obsidian-sample-plugin.git
GitHub模板仓库
范例插件仓库是一个GitHub模板仓库,这意味着你可以用范例插件创建自己的仓库。想要了解更多,参考用模板创建一个仓库
记得克隆范例仓库时,使用你自己的仓库URL
第2步:构建插件
在这一步骤,你会编译插件让Obsidian可以加载它
-
定位到插件目录
cd obsidian-sample-plugin
-
安装依赖
npm install
-
编译源码。下方的命令确保运行在终端并在修改源码时重构插件
npm run dev
注意现在插件文件夹中有了个 main.js
,其中包含编译完成版本的插件
第3步:开启插件
想要在Obsidian中加载插件,首先要开启它
- 在Obsidian中打开Settings。
- 在侧边栏,选择Community plugins。
- 选择开启社区插件。
- 在已安装的插件下,选择旁边的切换按钮,开启the Sample Plugin。
现在你已经可以使用Obsidian中的插件了。下一步,我们将对插件做出一些改变。
第4步:更新插件加载清单
在这一步骤,你将会通过重命名来更新插件加载清单,manifest.json
。加载清单中包含了与你的插件相关的信息,比如名字和描述。
- 在你的代码编辑器中打开
manifest.json
。 - 将
id
改为一个特殊的标识符, 比如"hello-world"
。 - 将
name
修改为一个便于理解的, 比如"Hello world"
。 - 重启Obsidian把新的改动加载到插件加载清单。
回到已安装的插件并注意,插件的名称已经更新,证明你的改动生效了
无论何时你改动了manifest.json
,记得重启Obsidian。
第5步:更新源码
为了让用户与你的插件交互,添加一个标签图标,当用户选择插件时表示问候。
-
在你的代码编辑器中打开
main.ts
。 -
将插件的类从
MyPlugin
重命名为HelloWorldPlugin
。 -
从
obsidian
包中导入ImportNotice
。import { Notice, Plugin } from "obsidian";
-
在
onload()
方法中,添加如下代码:this.addRibbonIcon('dice', 'Greet', () => { new Notice('Hello, world!'); });
-
在命令面板,选择重载app而不保存以重新加载插件。
现在你可以在Obsidian窗口的左侧边栏看到一个骰子图标,选择它在右上角会显示一条信息。
记住,在改动了源码后,需要重载你的插件。可以通过在社区插件面板关闭再开启的方式,或像这步骤中的第5部分那样,使用命令面板。
热重载
安装Hot-Reload插件以便在开发中自动重载插件。
小结
在这个指南中,你已经通过TypeScript API构建了第一个Obsidian插件。你已经会调整插件并重载以实现Obsidian的内部改动。
LINKS TO THIS PAGE 链接到此页面