Obsidian插件系列 – Meta Bind使用教程(下)
插件简介
Meta Bind 插件可以用来制作笔记中的按钮,可参考我的上一篇文章。同时顾名思义, Meta Bind 插件还可以用来绑定元数据。
何谓 “绑定元数据” 呢?
Obsidian 的每篇笔记的开头都带有一个笔记属性区域(也叫 YAML 区),这个区域和你的笔记正文是分开的,而 “绑定元数据” 就是在你的笔记正文区域显示或修改你的笔记属性,这样你就可以将笔记的属性融合到笔记的正文内容中了,你可以对它进行排版,也就不用在笔记开头展示YAML区域了,而是将笔记属性隐藏在边栏的核心插件-属性列表中。
主要用法
在电脑端编辑器中右键,选择 Meta Bind 菜单,可以看到除了添加按钮(Button)和行内按钮(Inline Button)外,还有两个选项,分别是 Input Field 和 View Field 。


Input Field 代表你可以在此处修改你绑定的属性。
View Field 代表你可以对已经有的元数据进行处理后在这里展示。
当你选择创建 Input Field 或 View Field 时,会在你的光标位置生成一个行内代码或代码块,格式如下:
Input Field:
INPUT[InputField类型(参数1(值1),参数2(值2)...):要绑定的属性名]
View Field:
VIEW[包含{属性名}的内容][ViewField类型(参数1(值1),参数2(值2)...):要绑定的属性名]
如果你的属性列表里没有这个属性,那么 Meta Bind 并不会立即创建这个属性,而是会展示一个默认值,且不会在属性列表显示。
插件中的样式有很多,大家可以自行体验使用,这里主要讲解一下Input Field、View Field 分别可以添加哪些常用的参数。更详细的教学可以参考 Meta Bind 官方文档。
Input Field 参数
addLabels
作用:显示滑块和进度条两侧的数值,默认为 true,想要隐去两侧数值,可添加此参数并置为 false
用法:
- •
addLabels - •
addLabels(true/false)
可用的Input Field:
- •
slider - •
progressBar
例如:
`INPUT[slider(addLabels(false)):数字属性]`
allowOther
作用:给选项类的 Input Field 一个编辑框,允许输入选项外的文字。
用法:
- •
allowOther - •
allowOther(true/false)
可用的 Input Field:
- •
suggester - •
listSuggester - •
inlineListSuggester
例如:
`INPUT[suggester(option(选项1),option(选项2),option(选项3),allowOther):列表属性]`
class
作用:将创建好的CSS样式应用到这个 Input Field 中,值为CSS文件名。
用法:
- •
class(CSS文件名)
可用的 Input Field:
- • 全部
例如:
在 .snippets 文件夹中创建了 red-progress-bar.css 文件,
内容为:
.mb-input-type-progressBar.red-progress-bar .mb-progress-bar-progress {
background: var(--color-red);
}
并使用class参数:
INPUT[progressBar(class(red-progress-bar)):属性名]
就可以把进度条渲染成红色的。
defaultValue
作用:给属性手动设置一个默认值
用法:
- •
defaultValue(默认值)
可用的 Input Field:
- • 全部
例如:
`INPUT[slider(defaultValue(90)):数字属性]`
limit
作用:给文本类的 Input Field 限制输入字数,给列表类的 Input Field 限制条目数量
用法:
- •
limit(数字)
可用的 Input Field:
- •
text - •
textArea - •
list - •
inlineList
例如:
INPUT[list(limit(10)):bind_target]
maxValue/minValue
作用:给数字类的 Input Field 设置最大值和最小值
用法:
- •
maxValue(数字) - •
minValue(数字)
可用的 Input Field:
- •
slider - •
progressBar
例如:
`INPUT[slider(minValue(1), maxValue(7)):数字属性]`
offValue/onValue
作用:给开关设置关闭值和开启值,不设置则为 false 和 true 的复选框属性,设置后则变为文本属性
用法:
- •
offValue(文本) - •
onValue(文本)
可用的 Input Field:
- •
toggle
例如:
`INPUT[toggle(onValue(开启), offValue(关闭)):开关属性]`
option
作用:给选项类的 Input Field 设置每个选项,可设置多个。
用法:
- •
option(选项值) - •
option(选项值, 选项展示的名称)
可用的 Input Field:
- •
select - •
multiSelect - •
suggester - •
imageSuggester - •
inlineSelect - •
listSuggester - •
inlineListSuggester - •
imageListSuggester
例如:
`INPUT[select(option(选项1), option(选项2)):选项属性]`
INPUT[select(
option(1, 1 Star),
option(2, 2 Stars),
option(3, 3 Stars),
option(4, 4 Stars),
option(5, 5 Stars)
):bind_target]
optionQuery
作用:使用符合查询条件的笔记链接作为选项,可以筛选包含指定标签或者在指定路径内的笔记
用法:
- •
optionQuery(查询条件)
可用的 Input Field:
- •
suggester - •
imageSuggester - •
listSuggester - •
inlineListSuggester - •
imageListSuggester
例如:
`INPUT[suggester(optionQuery(#标签)):属性名]`
`INPUT[suggester(optionQuery("日记/2026年")):属性名]`
placeholder
作用:在输入框内添加提示性文本
用法:
- •
placeholder(文本)
可用的 Input Field:
- •
text - •
textArea - •
number - •
list - •
inlineList
例如:
`INPUT[text(placeholder(在这里输入)):属性名]`
stepSize
作用:设置滑块和进度条的步长
用法:
- •
stepSize(数字)
可用的 Input Field:
- •
slider - •
progressBar
例如:
`INPUT[slider(stepSize(2)):数字属性]`
View Field 参数
class
作用:将创建好的CSS样式应用到这个 Input Field 中,值为CSS文件名,用法参照 Input Field 中的 class 参数
用法:
- •
class(CSS文件名)
可用的 View Field:
- • 全部
hidden
作用:将展示部件隐藏,如果只想计算一个值并且只在 YAML 区域展示,可以使用此参数
用法:
- •
hidden - •
hidden(true/false)
可用的 View Field:
- • 全部
例如:
`VIEW[{a} * {b}][math(hidden):c]`
即:将 a 和 b 相乘的结果给到属性 c ,并且不在笔记正文区域展示,仅显示在 YAML 区域
renderMarkdown
作用:将属性用 markdown 格式渲染
用法:
- •
renderMarkdown - •
renderMarkdown(true/false)
可用的 View Field:
- •
text
例如:
`VIEW[**{属性名}**][text(renderMarkdown)]`
即:将属性名的内容加粗展示在这里
应用实例
用一篇笔记记录自己的身高体重和 BMI ,可以这样写:
---
身高:
体重:
BMI:
更新日期:
---
身高:
`INPUT[number(placeholder(输入身高,单位m)):身高]`
体重:
`INPUT[number(placeholder(输入体重,单位kg)):体重]`
BMI:
`VIEW[ {体重}/({身高}*{身高})][math:BMI]`
更新日期:
`INPUT[date:更新日期]`
如果喜欢我的教学,请为我点一个赞吧~想看更多相关内容,欢迎关注我的公众号-玖六拾记
夜雨聆风