一句话总结
利用自定义公式获取第一张图片,设置为卡片封面
效果如图:
实现方法
- 创建卡片视图的bases
- 点击右上角属性,添加自定义公式
- 粘贴公式并命名(例如命名为first_image)

- 设置封面属性为刚创建的属性
公式
file.embeds.filter(value.containsAny("png","jpg","webp","svg","jpeg"))[0]
相关
- file.embeds可以替换为file.links,file.links包含属性和正文中的
[[内容]],以及嵌入的![[内容]],且顺序不是前后顺序,是先[[]]后![[]]各自排序
- 如果希望第二张图作为封面,可以将公式后的
[0]改为[1],以此类推
- 使用文件后缀筛选,可能不是最优的方案,如果有其他方法,欢迎楼下补充
- 表格视图可以用类似的方法提取,额外套一个image函数即可显示:
image(上述公式)
- 相关文档
6 个赞
Qign
2
我在正文中用 封面:: ;这种方式的图片,这样该怎么提取图片呢
这种只能dataview了吧,没法和官方集成到一起,花点时间查找替换吧迁移过来吧
1 个赞
jsye
(xiaohua)
5

为什么这里是问号呢 还是要在文件里新建一个同名属性的
单纯是图标显示不同,自定义公式没有设定类型的地方所以这里显示问号
不需要在文件里添加的
应该还不支持吧,提取和展示我都没能找到方法
如果有这类需求可以先用vault explorer这类插件过渡一会,或者dataview应该也行
trentswd
(trentswd)
9
感谢楼主!
这个bases我有两个疑惑就是
1 如何选取第一张图片 (感谢楼主)
2 如何截取一部分正文作为预览
请问第二个问题有办法吗?
官方文档里暂时没有检索内容的方法:Bases syntax - Obsidian Help
不过我记得 Page Gallery 插件是有 content mode 可以预览开头内容的,如果刚需的话可以考虑一下插件或者自己用dataview折腾
1 个赞
trentswd
(trentswd)
11
谢谢。插件处理方法是有的,主要是希望官方支持,可以少装几个插件。没有我再等等。
yuno
12
在卡片视图下成功了。不知道表格视图能不能实现带缩略图呢
@yuno @jsye
表格视图显示图片、外链显示图片的问题,测试了一下可以用image函数实现:
如图中的ob图标为外链图片,公式为image(外链属性)、红色图标为内链图片image(first_image);
但外链需要填写到属性里,暂没有提取文中外链的方法
表格视图:
卡片视图:
royone
18
现在已经可以用外链了,我想改成链接到指定的本地图片,但在文档里不显示这个封面图