开发经验 目录-入口-由此开始-大纲-总览-概括-枢纽-指导-指引-总领 教程-指南-路线

相关文档

基本概念:

开发环境搭建:

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官方插件实例的使用注意项

  1. 监测自动编译ts文件用npm run dev
    1. 不要用tsc -w

obsidian一些业务方法

获取笔记相关的链接

显示通知

  1. new Notice("文本")

在obsidian粘贴文本前执行代码:

通过Workspace中的on(‘editor-paste’)方法, 具体查看官方API声明文档

获取obsidian命令信息

child::获取obsidian命令的所有信息

获取指定元素

流程

  1. 先用控制台查看指定元素的详细信息
    1. 快捷键: Ctrl + Shift + I
  2. 用css标签选择器
    1. child::css 标签选择器
    2. 通常使用指定键值对筛选

注意点:

  1. 需要手动延时获取元素, 等待obsidian初始化后再获取
    1. 因为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使用指南