[ PROMPT_NODE_25642 ]
obsidian-bases
[ SKILL_DOCUMENTATION ]
# Obsidian Bases 工具
此工具使 Claude Code 能够创建和编辑有效的 Obsidian Bases (`.base` 文件),包括视图、过滤器、公式及所有相关配置。
## 概述
Obsidian Bases 是基于 YAML 的文件,用于定义 Obsidian 库中笔记的动态视图。Base 文件可以包含多个视图、全局过滤器、公式、属性配置和自定义摘要。
## 文件格式
Base 文件使用 `.base` 扩展名,并包含有效的 YAML。它们也可以嵌入在 Markdown 代码块中。
## 完整架构
yaml
# 全局过滤器应用于 Base 中的所有视图
filters:
# 可以是单个过滤器字符串
# 或者是一个包含 and/or/not 的递归过滤器对象
and: []
or: []
not: []
# 定义可在所有视图中使用的公式属性
formulas:
formula_name: 'expression'
# 配置属性的显示名称和设置
properties:
property_name:
displayName: "显示名称"
formula.formula_name:
displayName: "公式显示名称"
file.ext:
displayName: "扩展名"
# 定义自定义摘要公式
summaries:
custom_summary_name: 'values.mean().round(3)'
# 定义一个或多个视图
views:
- type: table | cards | list | map
name: "视图名称"
limit: 10 # 可选:限制结果数量
groupBy: # 可选:分组结果
property: property_name
direction: ASC | DESC
filters: # 视图特定的过滤器
and: []
order: # 按顺序显示的属性
- file.name
- property_name
- formula.formula_name
summaries: # 将属性映射到摘要公式
property_name: Average
## 过滤器语法
过滤器用于缩小结果范围。它们可以全局应用,也可以按视图应用。
### 过滤器结构
yaml
# 单个过滤器
filters: 'status == "done"'
# AND - 所有条件必须为真
filters:
and:
- 'status == "done"'
- 'priority > 3'
# OR - 任意条件为真即可
filters:
or:
- 'file.hasTag("book")'
- 'file.hasTag("article")'
# NOT - 排除匹配项
filters:
not:
- 'file.hasTag("archived")'
# 嵌套过滤器
filters:
or:
- file.hasTag("tag")
- and:
- file.hasTag("book")
- file.hasLink("Textbook")
- not:
- file.hasTag("book")
- file.inFolder("Required Reading")
### 过滤器运算符
| 运算符 | 描述 |
|----------|-------------|
| `==` | 等于 |
| `!=` |