【已解决】从侧边栏拖到文档中的事件是什么

昨天看到更新了白板功能, 非常棒, 简直是梦寐以求的功能, 所以打算深入挖挖这个软件.


然后有个个人需求.

对于图片, pdf甚至视频, 都可以通过拖拽的方式拖到文档或白板中, 拖拽过来之后会作为"附件"保存在仓库的指定文件夹里, 这一切都非常棒, 但"文件夹"却不能.

我找了很久相关的插件也没找到, 所以打算自己写一个.

总体来讲很容易理解, 但也有几个api令人困惑, 比如this.app.vault没用提供获得basePath的函数, 我只得自己打了个猴子补丁:

var basePath = (this.app.vault.adapter as unknown as { basePath: string }).basePath

有更好的解法吗, 毕竟猴子补丁更新了就不一定能用了…

现在做到这个程度:
2022-12-22 04-00-48~1

2 个赞

然后有个问题:

workspaceeditor-drop事件似乎只能处理从软件外拖到文档中的情况, 像这种从侧边栏拖到文档中的情况是什么事件呢?
2022-12-22 04-27-58~1

(因为新用户一次只能发一个图片, 所以就发到这了)

* 如果看到其他插件实现了类似的功能也可以告诉我, 我去翻他代码就知道怎么写了.

这个找到了, 藏在了子类里…

if (!(this.app.vault.adapter instanceof FileSystemAdapter)) {
    return
}

var basePath = this.app.vault.adapter.getBasePath()
1 个赞

好吧, 经过一些研究, 找到了判断的地方…


看起来api提供的接口非常有限, 又不开源, 想搞复杂的功能就得硬读混淆过的源码…

1 个赞

大佬对文件树有没有想法?

ob已有的文件夹或者外部文件夹拖进来直接生成文件树

emmmmmmm 暂时没有这个需要
但是想看看 要怎么做呢? 是什么插件吗

Ob 其实有很多 api 都还没暴露出来,基本都只能靠自己打断点或者看混淆源码,继续加大力度催猫哥把 api 给暴露出来

没有插件,思路是这样:

如果整个文件夹下的文件都有相关性并且根据路径排序,那么生成的文件树就应该是一个思维导图

啊, 你是想自己实现一个这样的插件吗…
生成的思维导图显示在哪里呢? 画布里? 还是文档里?
思维导图是什么形式? 图片吗?
理论上都是可以实现的, 但我想不到有什么用途…

画布里或者别的地方都可以,主要是作为学习路线图非常的完美

现在是在excalidraw里手动写,挺费劲的