SuperAPI AI 工具集

obsidian-bases

办公与效率

查看项目

更新于 10-15 09:00

技能介绍

用途

Obsidian Bases 技能使 Claude Code 能够创建和编辑有效的 Obsidian Bases(.base 文件),涵盖视图、过滤器、公式及所有相关配置。Obsidian Bases 是基于 YAML 的文件,用于在 Obsidian 库中定义笔记的动态视图。一个 Base 文件可以包含多个视图、全局过滤器、公式、属性配置和自定义汇总。

文件格式

Base 文件使用 .base 扩展名,内容为有效的 YAML。它们也可以嵌入 Markdown 代码块中。

主要能力

完整 Schema

Base 文件支持以下顶层配置:

  • filters:全局过滤器,应用于 Base 中的所有视图。可以是单个过滤字符串,也可以是包含 and/or/not 的递归过滤对象。
  • formulas:定义可在所有视图中使用的公式属性。
  • properties:配置属性的显示名称和设置。
  • summaries:定义自定义汇总公式。
  • views:定义一个或多个视图。

过滤器语法

过滤器用于缩小结果范围,可全局应用或按视图应用。支持:

  • 单个过滤器字符串
  • AND:所有条件必须为真
  • OR:任一条件为真即可
  • NOT:排除匹配项
  • 嵌套过滤器

过滤器运算符包括:==、!=、>、<、>=、<=、&&、||、!。

属性类型

三种属性类型:

  1. 笔记属性:来自 frontmatter,如 note.author 或 author
  2. 文件属性:文件元数据,如 file.name、file.mtime 等
  3. 公式属性:计算值,如 formula.my_formula

文件属性包括:file.name、file.basename、file.path、file.folder、file.ext、file.size、file.ctime、file.mtime、file.tags、file.links、file.backlinks、file.embeds、file.properties。

this 关键字

  • 在主内容区域:指 Base 文件本身
  • 嵌入时:指嵌入文件
  • 在侧边栏:指主内容中的活动文件

公式语法

公式从属性计算值,在 formulas 部分定义。支持简单算术、条件逻辑、字符串格式化、日期格式化、复杂表达式等。

函数参考

提供丰富的函数库,包括:

  • 全局函数:date()、duration()、now()、today()、if()、min()、max()、number()、link()、list()、file()、image()、icon()、html()、escapeHTML()
  • 任意类型函数:isTruthy()、isType()、toString()
  • 日期函数与字段:date()、format()、time()、relative()、isEmpty(),以及日期算术
  • 字符串函数:contains()、containsAll()、containsAny()、startsWith()、endsWith()、isEmpty()、lower()、title()、trim()、replace()、repeat()、reverse()、slice()、split()
  • 数字函数:abs()、ceil()、floor()、round()、toFixed()、isEmpty()
  • 列表函数:contains()、containsAll()、containsAny()、filter()、map()、reduce()、flat()、join()、reverse()、slice()、sort()、unique()、isEmpty()
  • 文件函数:asLink()、hasLink()、hasTag()、hasProperty()、inFolder()
  • 链接函数:asFile()、linksTo()
  • 对象函数:isEmpty()、keys()、values()
  • 正则表达式函数:matches()

视图类型

支持四种视图类型:

  1. 表格视图(table):以表格形式展示,支持 order 和 summaries
  2. 卡片视图(cards):以卡片形式展示
  3. 列表视图(list):以简单列表形式展示
  4. 地图视图(map):需要经纬度属性和 Maps 插件

默认汇总公式

提供多种默认汇总公式,包括:Average、Min、Max、Sum、Range、Median、Stddev、Earliest、Latest、Range(日期)、Checked、Unchecked、Empty、Filled、Unique。

使用方式

嵌入 Bases

在 Markdown 文件中嵌入:

![[MyBase.base]]

<!-- 特定视图 -->
![[MyBase.base#View Name]]

YAML 引号规则

  • 包含双引号的公式使用单引号:'if(done, "Yes", "No")'
  • 简单字符串使用双引号:"My View Name"
  • 在复杂表达式中正确转义嵌套引号

常见模式

  • 按标签过滤:file.hasTag("project")
  • 按文件夹过滤:file.inFolder("Notes")
  • 按日期范围过滤:'file.mtime > now() - "7d"'
  • 按属性值过滤:'status == "active"'、'priority >= 3'
  • 组合多个条件:使用嵌套的 and/or

适用场景

  • 创建任务跟踪 Base,管理任务状态、优先级和截止日期
  • 创建阅读列表 Base,管理书籍和文章
  • 创建项目笔记 Base,跟踪项目状态和链接
  • 创建每日笔记索引,按日期组织笔记
  • 为笔记创建类似数据库的动态视图

限制

  • 地图视图需要经纬度属性和 Maps 插件
  • 具体功能、收费、价格、平台、效果或使用步骤以官方资料为准,暂未提供的信息不在本介绍中编造。