用途:从空目录搭建一个可用的 Obsidian 插件,最终得到带功能区图标、命令面板命令、设置页和生产构建的完整项目,所有文件均完整给出。
前置条件:Node.js 18+、Obsidian 桌面应用、用于测试的库(如 ~/ObsidianDev)。
主要能力与用法:
- 脚手架:创建项目目录与 src,执行 npm init -y,安装开发依赖 obsidian、typescript、esbuild、@types/node、tslib,并写入 tsconfig.json。
- manifest.json:插件根目录必需,包含 id、name、version、minAppVersion、description、author、isDesktopOnly 等字段,Obsidian 据此注册插件。
- esbuild 配置:esbuild.config.mjs 以 src/main.ts 为入口,bundle 为 cjs,target es2018,将 obsidian、electron 及 @codemirror、@lezer 系列设为 external,生产模式关闭 sourcemap,开发模式启用 watch。
- main.ts:包含 Plugin 子类、设置接口与默认值、设置页,以及三个命令(显示问候、在光标处插入问候、统计当前笔记词数),并添加功能区图标与状态栏项。
- 构建与安装:在 package.json 添加 dev 与 build 脚本,执行 npm run build 生成 main.js,再复制 main.js 与 manifest.json 到库的 .obsidian/plugins/<插件 id>/ 目录,在 Obsidian 设置中启用社区插件并开启该插件。
适用场景:需要从零开发 Obsidian 插件、了解插件基本结构与构建流程时。
限制与注意:需先安装 Node.js 18+ 与 Obsidian 桌面版;功能区图标须使用 Lucide 图标名;设置保存需 await saveData;editorCallback 命令在无活动编辑器时不可用;构建需正确 externalize obsidian。资料未提供收费、价格与效果信息。