开发经验 目录-入口-由此开始-大纲-总览-概括-枢纽-指导-指引-总领 教程-指南-路线
相关文档
基本概念:
开发环境搭建:
- child::obsidian插件开发环境
obsidian官方api
child::obsidian官方api合集
测试API
- 利用控制台查找并执行api,看看返回结果
obsidian页面Html结构:
child::obsidian页面Html结构
obsidian机制
child::obsidian机制
obsidian官方规定的插件结构:
主体: 一个继承了Plugin抽象类的类
该类必须放在main.ts文件中
一个特殊用途的属性: settings
一个读取配置文件后, 配置变量将保存在该对象中, 该对象会在卸载插件或关闭obsidian后会自动清空
四个特殊用途的方法:
onload()
加载插件时会调用该方法
onunload()
卸载插件时会调用该方法
loadSettings()
调用该方法会从配置文件中加载settings属性
saveSettings()
调用该方法会保存settings属性到配置文件中
可以在这个类下面添加自定义的属性与方法
这样可以方便通过this调用
其他的东西:
这些东西可以放在其他文件, 然后导入main.ts中
一个自定义的接口:
定义settings对象的类型
一个特殊用途的对象:
DEFAULT_SETTINGS:
作为settings对象的默认值
全局作用域下的其他代码:
插件被加载的时候, 全局作用域的代码会被执行一遍
官方插件示例的默认打包工具
child::ESbuild
obsidian目前已知bug:
obsidian中插件无法移除事件, 也无法设置监听器仅用一次
obsidian官方插件实例的使用注意项
- 监测自动编译ts文件用
npm run dev- 不要用
tsc -w
- 不要用
obsidian一些业务方法
获取笔记相关的链接
- child::dataview的链接索引
显示通知
new Notice("文本")
在obsidian粘贴文本前执行代码:
通过Workspace中的on(‘editor-paste’)方法, 具体查看官方API声明文档
获取obsidian命令信息
child::获取obsidian命令的所有信息
获取指定元素
流程
- 先用控制台查看指定元素的详细信息
- 快捷键: Ctrl + Shift + I
- 用css标签选择器
- child::css 标签选择器
- 通常使用指定键值对筛选
注意点:
- 需要手动延时获取元素, 等待obsidian初始化后再获取
- 因为obsidian初始化时也会初始化插件指令, 但是此时获取运算会失败, 需要等待初始化后才能获取成功
obsidian加载/保存自定义插件配置
加载: 调用插件主类的loadSettings()把配置文件加载到settings中 保存: 修改settings属性, 调用saveSettings()把settings覆盖到配置文件中
聚焦到光标处:
使用editor对象的focus()方法
在插件主类中调用obsidian提供的各种API
梗概:
通过当前对象A中关联的其他对象B来调用对象B中的API
重载插件
child::重载插件
插件兼容性
child::插件兼容性
obsidian api合集:
child::obsidian官方api合集
发布插件
child::发布插件
child:: 编辑区 father:: obsidian使用指南