HTML elements | Obsidian Plugin Developer Docs 这个文档里面的类的属性和方法只到函数名就结束了。
用开发工具转到定义也看不到其源程序,大部分连说明都没有,所以初入门的人根本无法把握其属性和方法具体用法,我现在只能看别人的插件源码,通过其功能反推各个属性和方法的语法,但这种效率太低了。我在国外论坛咨询这个问题,有人给我发一个链接
for Plugin Developers - Obsidian Publish
但并找不到我想要的内容,只是介绍一些常规的流程。不知哪位高人指点一下,除了看别人代码,你们如何快速找到自己想要obsidian api的方法和属性。
他们好像是 VIP中P,直接找开发者问的……
通览类型文件,api都在这里面,偶尔写了用法。剩下的就是凭经验试。
举个栗子: 要得到库中所有文件的信息,类型文件中有vault接口,也有metadataCache接口。前者提供库信息,后者提供元数据缓存信息。每个接口有十几二十个方法或属性,大致看看名字就能找到。getAllMarkdownfiles,getFiles还是很容易懂的。
剩下的一多半是dom接口,这些学了js大致都了解。
你的意思我明白,但是这样是看懂别人代码容易,但你想用一个别人从来没有用到属性和方法,就如同你熟练掌握javascript,不会python,但让你pythony语方开发一样,其实别人写的python代码都能看懂,但自己写完全不是那么回事,上面老外也是这个意思,他有几年typescript开发经验,应该水平还行,但发现文档不全,开发有点困难。dom的东西其实我也还行,但如果光让我看文档,估计我连换行都不知道怎么办?看了别人插件才知道怎么插入元素,怎么插入字符串。,但现在只会用现成,如果我掌握的插件没有提到,我变点花样都很困难,比如我想片段插入一个表格,我想陷入一个视频。语法我都清楚,但如何在他的控件中实现,只能瞎折腾,但浪费这个时间没有任何意义。下面就是利用dom元素对Note Refacotr进行的二次开发,增加弹出设置页的功能。
看多了就好了,就那么点东西,几个经典插件搞懂了就啥都能干了。
advanced table 对编辑区操作
kanban 增加新视图
workspace pluse 对工作区操作
dataview 全文检索并注册代码块
这几个看懂,不说全看懂,也基本掌握了开发特性。实际上就obsidian develop那个链接就够了的,介绍了基本概念。
最后,你拿个个例什么问题都说明不了,ob插件500多个,开发者怎么说都有几百人了,也没见都抱怨api不好使,都是自己摸索摸索就会了。
谢谢,我介入插件开发没有多久,目前也只发现象你这种方式来开发插件,但最近研究老外代码觉得可能还有其他的方式,以为还有其它方式,所以在中外文论坛都留了言咨询。不过看去年老外关于这个问题的留言到现在都没有任何人回复,估计也只有这种方式了。好在现在插件种类多,也不是什么大问题。
都在抱怨好么,有些特定的api即使文档记录了都不知道是干啥用的。 我有一次还是在devtool里面翻源码才“发现”了一个api,结果是官方api文档里面写了的,但是什么介绍都没有,所以很难找到。 有些函数参数类型直接给any,都不知道传什么值进去,这种api不知道写出来干嘛
等api稳定吧,说不定那个时候就有文档了,目前只能死马当活马医,也没啥可抱怨的。
点 API 方法进去,跳到 TS 定义里头,里面会列,大部分的应该都能找到。
哇,我还以为就我一个人感觉痛苦。
特别是好多只有api没有参数解释,都要自己一个一个试。
甚至我在一些插件里面看到了未公开的api,通过这些api可以实现一些应该很简单但是不公开就没法实现的功能,简直震惊了。
package.json中devDependencies里的obsidian依赖,不是已经提供了api了吗?