论坛上对思源那样的多级文件夹体系呼声比较高,不过看样子logseq是不会做了。那么大神们能否开发一个类似功能的插件呢?个人感觉,如果这个插件做好了,一定是最欢迎的插件之一,甚至是第一。
文件夹需求的本质
从本质上说,大家想要文件夹体系,无非是想在以下三个场景中能看到当前页面属于哪个层级结构(也就是面包屑):
(1)在当前页面的上方或者底部看到此页面的面包屑。
(2)在双链悬浮窗顶部或底部看到此链接页面的面包屑。
(3)在搜索结果中看到结果所在的页面的面包屑。
插件怎么做?
上述3个需求,可借助logseq现有特性来做,不需要多级文件夹。具体思路是:
(1)把一个页面打上特殊的页面属性,比如页面属性写 type:: content
(2)把要写的多级结构写在这个页面中,比如下面列表中的《红楼梦》这个页面就在 文学/小说/古代小说 这个层级体系中 。
(3)插件读取上述信息。
(4)当你打开《红楼梦》这个页面时,插件就在所有 type:: content 的页面中寻找哪个页面有《红楼梦》这个页面的双链。发现了,就在《红楼梦》的页面下方或上方显示: 文学/小说/古代小说
(5)同理,当光标放到 [[《红楼梦》]] 上时,悬浮窗口的顶部也显示:文学/小说/古代小说
(6)同理,当搜索到的结果在《红楼梦》这个页面中时,搜索结果的某个地方,就显示: 文学/小说/古代小说
- 文学
- 小说
- 古代小说
- [[《红楼梦》]]
- 古代小说
- 小说
有什么优点?
假如把 [[《红楼梦》]] 放进多个含有 type:: content 的页面中,那就可以在上述三个地方显示多条面包屑。这样:
(1)用户就不会有分类的焦虑了,因为反正一个页面可以分到个层级中。
(2)不用《红楼梦》这个页面打很多标签了,因为它的面包屑 文学/小说/古代小说 就包括了《红楼梦》的三个标签。
(3)logseq不想开发文件夹体系,这个插件完全不会和这一原则冲突,但又实现了多级结构的需求。