从0到1发布一个Obsidian插件 - MDFriday开发日志

1,125 阅读4分钟

从0到1发布一个Obsidian插件

为了能让更多人用到我们的开源项目,我们选择先加入不同的生态,为这个生态带来不同的价值。 Obsidian是一个笔记工具,号称是第二大脑,笔记都是以MD的形式存储的。 而我们的开源项目正好是将MD文档,转换成站点的工具,一拍即合。

如保进入到这个生态呢,答案就是:开发一个Obsidian插件。 下面记录一下我在开发过程中的一些实践小结。

Obsidian 是一个功能强大的 Markdown 笔记软件。其丰富的插件生态允许开发者添加功能、优化用户体验,而这也给了我们一个绝佳的学习机会。本文将详细介绍从零开始开发并发布一个 Obsidian 插件的过程,适合初学者参考。


1. Obsidian 插件长啥样?

Obsidian 插件可以实现多种功能,比如自动化笔记管理、界面增强和数据分析等。官方提供了 Obsidian 插件库,里面有成百上千的插件,你可以随时下载安装、试用和学习。一个好的学习方法是找到自己感兴趣的插件,然后通过样例代码和文档进行参考,逐步熟悉插件的构建方式和 API。

优势

Obsidian 的插件大多是开源的。可以直接在 GitHub 上查找插件的源码,了解其实现细节、插件结构、设计思路等。在学习时,可以直接克隆并运行插件代码,快速掌握如何创建一个功能模块、注册命令或界面组件。

推荐的学习路径

  1. 挑选一个简单的插件:选一个功能简单但实用的插件,比如 "Todo List",观察其项目结构和代码。
  2. 熟悉 Obsidian API 文档:通过 Obsidian 官方 API 文档来理解插件与软件之间的交互。
  3. 探索插件的开源代码:尝试阅读源码,分析插件的加载过程、事件监听和响应函数等。

2. 如何搭建自己的开发环境?

在开发插件之前,需要准备一个 Obsidian 的开发环境。以下是具体步骤:

安装 Obsidian

Obsidian 官方网站 下载并安装 Obsidian。我们将用它作为插件的测试环境。

配置插件开发目录

Obsidian 允许开发者在用户库中创建插件。要进行开发,你需要将插件生成的代码目录直接指定到插件所在的目录。这个目录在 Obsidian 的设置里可以找到,一般位于 ~/.obsidian/plugins 下。

Screen Shot 2024-11-14 at 20.38.57.png

运行开发命令

在你的项目中使用 npm run dev 命令来生成插件。这个命令会监听代码更改,自动构建最新版本的插件代码。

Screen Shot 2024-11-14 at 20.40.08.png

在 Obsidian 中加载插件

通过在 Obsidian 的 “社区插件” 面板中启用开发模式,加载你的插件目录。然后进入插件设置页面,加载你刚刚开发的插件。每次代码更新后,重新加载插件就可以看到效果。

Tips

  • 实时调试:在开发环境中可以通过 console.log 输出信息来调试,但要注意在提交前清理不必要的日志。
  • 插件结构:项目的基础结构包括 manifest.jsonmain.js 等文件。manifest.json 是插件的配置信息,main.js 是主要的功能代码,style.css 是主要的样式代码。

image.png


3. 如何提交插件

当插件开发完成后,可以准备发布到 Obsidian 的插件库中。以下是发布流程和注意事项:

发布一个版本

在 GitHub 上发布一个新版本。请注意版本号格式,不要带 “V” 前缀,而是直接使用 0.0.0 这种格式。

image.png

更新官方仓库

Obsidian 有一个公共插件库,用于收录所有插件。在提交插件之前,需要先 fork 他们的官方仓库,在仓库末尾添加你的插件信息。

创建 Pull Request

完成 fork 后,编辑插件列表,添加你的插件信息。需要注意:

  • 插件名称:名称中不要包含 “Obsidian”、“plugin”、“example” 等字样。
  • 清理日志:提交前确保删除不必要的 console.log
  • 请求格式:使用 requestUrl 代替 fetch 发送网络请求,以便解决跨域问题。

image.png

审核流程

提交后,插件会经过 Obsidian 的审核流程。首先由机器扫描插件代码以检查安全性,然后进行人工审核。通过后,插件将被添加到官方插件库,用户可以直接在 Obsidian 中安装。

注意

  • 插件文档:提供详细的插件说明,有助于通过审核,并方便用户理解你的插件。
  • 功能演示:在 README 中加入 GIF 或截图,展示插件的主要功能和亮点,有助于用户快速了解插件的效果。

image.png


以上就是发布 Obsidian 插件的详细流程。希望能帮助到初学者从零开始发布自己的第一个插件,丰富 Obsidian 的生态!

欢迎大家留言探讨。