比如:
```dataview
list
from 书签
sort file.ctime desc
limit 100
```
尝试了 from 书签
,from bookmark
,from #书签
,from #bookmark
,from #bookmarked
,from #stared
,均不行。
坐等大佬出现
比如:
```dataview
list
from 书签
sort file.ctime desc
limit 100
```
尝试了 from 书签
,from bookmark
,from #书签
,from #bookmark
,from #bookmarked
,from #stared
,均不行。
坐等大佬出现
我只知道 DataviewJS 的先例:
感谢两位大佬!
已完美解决,如下:
```dataview
list
from ""
where file.starred
sort file.ctime desc
limit 100
```
或 去掉from
```dataview
list
where file.starred
sort file.ctime desc
limit 100
```
有没有办法分组显示,就是书签是可以添加到分组的,能不能把书签按照所属的分组显示。
2楼的方法 app.internalPlugins.getEnabledPluginById("bookmarks").getBookmarks()
可以实现,就是不知道还有没有更牛的奇淫技巧。
有没有示例代码,我看了原贴,没有找到显示书签分组的方法。
我根据2楼提供的思路实现了下,应该还有更好的方法,如下:
```dataviewjs
//获取所有书签,包含分组
const bookmarks = app.internalPlugins.getEnabledPluginById("bookmarks").getBookmarks();
// 格式化书签为{"分组名":["children"]}
const bookmarkGroups = bookmarks.reduce((accumulator, currentItem) => {
if (currentItem.type === 'group') {
accumulator[currentItem.title] = currentItem.items.map(item => item.path);
}
return accumulator;
}, {});
// 定义所有已分组的文件列表
let groupItems = [];
// 遍历已格式化的书签分组数据
for (const groupTitle in bookmarkGroups) {
dv.header(3, groupTitle);
// 存储所有已分组的文件列表
groupItems = [...groupItems, ...bookmarkGroups[groupTitle]];
// 输出已分组的文件列表
const groupLinks = bookmarkGroups[groupTitle].map(item => dv.fileLink(item))
dv.list(groupLinks)
}
// 格式化未分组的书签列表
const unGroupedFiles = bookmarks.filter(item => item.type === 'file' && !groupItems.includes(item.path)).map(item => dv.fileLink(item.path));
// 输出未分组的书签列表
dv.header(3, '未分组');
dv.list(unGroupedFiles)
```
效果:
牛 就是想要的效果