Joplin 插件开发入门
适用版本:Joplin 3.x
基于 TypeScript / JavaScript 扩展编辑器、自动化工作流。本文从零创建 Hello World 插件并介绍核心 API 与发布流程。
一、插件能做什么
- 注册命令:在工具栏、菜单或命令面板中添加自定义操作。
- 自动化:监听笔记事件自动执行脚本,如自动归档、批量重命名。
- 接入外部服务:调用第三方 API,把笔记与其他工具打通。
插件的能力边界由官方 API 决定:目前可以注册命令、读取数据、创建 UI、监听事件,但无法直接修改 Joplin 核心界面。
二、开发环境准备
- 安装 Node.js 16+ 与最新版 Joplin 桌面端。
- 在「设置 → 插件」中开启 开发者模式。
- 准备插件项目文件夹,如
my-joplin-plugin。
官方还提供了模板仓库 joplin-plugin-template,使用 npm create joplin-plugin 可以快速生成项目骨架。
三、创建第一个 Hello World 插件
最小插件只需 manifest.json 与 main.js:manifest 声明 name、version、app_min_version(如 2.8.0);main.js 用 joplin.commands.register 添加「Hello World」命令。核心代码只有几行:在 onStart 中调用 joplin.commands.register,然后执行命令即可弹窗。
四、核心 API 概览
| API | 用途 |
|---|---|
joplin.commands | 注册 / 执行命令 |
joplin.data | 访问笔记、笔记本、标签等数据 |
joplin.views | 创建对话框、菜单等 UI |
五、测试与调试
在「设置 → 插件」点击「加载未打包插件」选择项目文件夹即可测试,用 console.log 在「帮助 → 调试窗口」查看。调试时可以在代码中写入 console.info,然后在「帮助 → 调试窗口」查看日志;也可以使用 VS Code 断点调试。完整 API 列表见官方文档 Joplin API 文档,所有方法都返回 Promise,支持异步调用。
常用 API 还有 joplin.settings(读写设置)、joplin.windows(创建独立窗口)与 joplin.views.dialogs(模态对话框)。事件监听方面,joplin.workspace.onNoteChange 可以感知当前笔记变化,适合做自动保存、同步提示等小功能。写插件时建议多查官方 API 文档,很多看似复杂的功能其实都有现成接口。
六、发布到插件库
用 npm run dist 打包生成 .jpl 文件,在 joplin/plugins 仓库 提交发布信息,审核通过后即可在插件市场搜索到。发布流程详见 插件与扩展 页面。
七、常见问题
开发插件需要付费吗?
不需要。Joplin 完全开源免费,插件开发与发布均免费。
插件在手机端能用吗?
目前插件仅支持桌面端(Windows / macOS / Linux),移动端暂不支持加载插件。
发布插件前,建议先在本地完成一轮真实使用测试,确认不同版本的系统都能正常运行;如果插件需要访问网络,还要在清单中声明权限。开发过程中遇到问题,可以到官方论坛的插件板块提问,那里有插件作者和核心维护者活跃。插件开发并不神秘,从复制官方模板开始,逐个方法查询文档即可逐步上手,遇到报错先看控制台堆栈。