「Bases」设置笔记中第一张图片为卡片封面

一句话总结

利用自定义公式获取第一张图片,设置为卡片封面

效果如图:

实现方法

  1. 创建卡片视图的bases
  2. 点击右上角属性,添加自定义公式
  3. 粘贴公式并命名(例如命名为first_image)
    image
  4. 设置封面属性为刚创建的属性

公式

file.embeds.filter(value.containsAny("png","jpg","webp","svg","jpeg"))[0]

相关

  • file.embeds可以替换为file.links,file.links包含属性和正文中的[[内容]],以及嵌入的![[内容]],且顺序不是前后顺序,是先[[]]![[]]各自排序
  • 如果希望第二张图作为封面,可以将公式后的[0]改为[1],以此类推
  • 使用文件后缀筛选,可能不是最优的方案,如果有其他方法,欢迎楼下补充
  • 表格视图可以用类似的方法提取,额外套一个image函数即可显示:image(上述公式)
  • 相关文档
6 个赞

我在正文中用 封面:: ;这种方式的图片,这样该怎么提取图片呢

这种只能dataview了吧,没法和官方集成到一起,花点时间查找替换吧迁移过来吧

1 个赞

亲测有效 非常感谢楼主分享

image
为什么这里是问号呢 还是要在文件里新建一个同名属性的

单纯是图标显示不同,自定义公式没有设定类型的地方所以这里显示问号

不需要在文件里添加的

外链的图片不能显示吗

应该还不支持吧,提取和展示我都没能找到方法

如果有这类需求可以先用vault explorer这类插件过渡一会,或者dataview应该也行

感谢楼主!
这个bases我有两个疑惑就是
1 如何选取第一张图片 (感谢楼主)
2 如何截取一部分正文作为预览

请问第二个问题有办法吗?

官方文档里暂时没有检索内容的方法:Bases syntax - Obsidian Help

不过我记得 Page Gallery 插件是有 content mode 可以预览开头内容的,如果刚需的话可以考虑一下插件或者自己用dataview折腾

1 个赞

谢谢。插件处理方法是有的,主要是希望官方支持,可以少装几个插件。没有我再等等。

在卡片视图下成功了。不知道表格视图能不能实现带缩略图呢

英文论坛好像有人问过,应该还不行

@yuno @jsye

表格视图显示图片、外链显示图片的问题,测试了一下可以用image函数实现:

如图中的ob图标为外链图片,公式为image(外链属性)、红色图标为内链图片image(first_image)

但外链需要填写到属性里,暂没有提取文中外链的方法

表格视图:


卡片视图:
image

可以,成功了。谢谢

可以了 感谢感谢!

在这个基础上,怎样显示特定文件夹的笔记呢?大佬

现在已经可以用外链了,我想改成链接到指定的本地图片,但在文档里不显示这个封面图

点击右上角筛选按钮,下拉菜单里条件选路径

好像暂时没有解决方案,有人是上传到网络上再使用URL的

https://www.reddit.com/r/ObsidianMD/comments/1n8ikwl/bases_cover_image_from_local_file_not_working/