【Bases】视图汇总
Bases 就是一个小白友好的,甚至可以不接触代码的,笔记搜索、过滤、展示工具。
这功能说起来挺简单,但是用的好它的作用还是蛮大的。以下列举一些我使用的视图设定。
用法说明
基础知识
通过过滤(filters
)获取想要展示的笔记,通过属性(order
)设定要展示的信息。
进阶技巧
在属性中添加公式(相当于自定义属性,在代码中放在 formulas
字段下)。然后在过滤器中可以引用这些属性。
视图设定
理解上面知识之后,只需要看下方代码即可知道如何在可视化状态下进行设定。以下代码块直接复制进笔记,标记为 base
代码块即可使用
孤立附件管理
- 筛选:
- 扩展名(文件后缀 file.ext)不包含任何(does not contain any of)
"md", "base", "js", "css", "canvas"
(这部分根据自己的实际需求书写需要排除的文件类型) - 名称(文件名 file.basename)不以 xx 结尾(does not end with)
.excalidraw
这一条是为了排除.excalidraw.xxx
文件,如无此需求可以省略词条
- 扩展名(文件后缀 file.ext)不包含任何(does not contain any of)
- 属性:backlinks(指向此文件的链接),如果没有指向此文件的链接,则视为孤立附件。
views:
- type: table
name: 孤立附件
filters:
and:
- '!file.ext.containsAny("md", "base", "js", "css", "canvas")'
- '!file.basename.endsWith(".excalidraw")'
- file.backlinks.isEmpty()
失效的内链
- 属性:添加公式
- 名称:
失效链接
- 公式:
file.links.filter(value.endsWith('.md')).filter(!value.asFile().isTruthy())
- 公式解读:文件链接中所有以
.md
结尾的链接(内部链接),如果不存在对应的文件,则视为失效链接
- 名称:
- 筛选:
失效链接
is not empty
formulas:
失效的内链: file.links.filter(value.endsWith('.md')).filter(!value.asFile().isTruthy())
views:
- type: table
name: 失效的内链
filters:
and:
- "!formula.失效的内链.isEmpty()"
order:
- file.folder
- file.name
- formula.失效的内链
不存在的附件
其实和上面类似,如果指定后缀的内部链接不存在对应的文件,则视为引用的附件不存在。
- 属性:添加公式
- 名称:
失效附件
- 公式:
file.links.filter(/\.(jpg|jpeg|png|gif|svg|webp|ico|tiff|bmp)$/.matches(value)).filter(!value.asFile().isTruthy())
- 名称:
- 筛选:
失效附件
is not empty
formulas:
不存在的附件: file.links.filter(/\.(jpg|jpeg|png|gif|svg|webp|ico|tiff|bmp)$/.matches(value)).filter(!value.asFile().isTruthy())
views:
- type: table
name: 失效图片链接
filters:
and:
- "!formula.不存在的附件.isEmpty()"
order:
- file.name
- formula.不存在的附件
- file.folder
Excalidraw 文件管理
首先需要在 Excalidraw 的插件设置中开启:嵌入到 Markdown 文档中的绘图 ——> 导出 ——> 导出设置 ——> 自动导出 png 副本。
最好同时开启上方的 保持SVG/PNG文件名与绘图文件同步
。当然也可以使用自动导出 svg 副本,下方代码中使用对应的文件名后缀即可。
formulas:
Excalidraw 预览图: file.basename +'.png'
views:
- type: cards
name: Excalidraw
filters:
and:
- file.hasTag('excalidraw')
order:
- file.name
image: formula.Excalidraw 预览图
imageFit: contain