> [!column|flex no-title] >> [!menu-dark-red|ttl-c] [[Obsidian TTRPG Tutorials]] / [[Plugin Tutorials]] / [[Meta Bind]] > [!column|4 no-title] >> [!menu-green-1|ttl-c] [[Getting Started]] > >> [!menu-green-2|ttl-c] [[Plugin Tutorials]] > >> [!menu-green-3|ttl-c] [[Community Supported Games]] > >> [!menu-green-4|ttl-c] [[Obsidian TTRPG Tutorials/Templates/Templates\|Templates]] > [!column|3 no-title] >> [!patreon|ttl-c] [Patreon](https://www.patreon.com/JPlunkett) ([Starter Vault](https://www.patreon.com/posts/obsidian-patreon-96801399)) > >> [!discord|ttl-c] [Obsidian TTRPG Community Discord](https://discord.gg/CdM9UCJdwU) > >> [!discord|ttl-c] [Obsidian Official Discord](https://discord.gg/8AF29UBUCa) ![](https://youtu.be/iAYS0254a7I) ### Demo Content This is a copy of the [Example Vault Content](https://github.com/mProjectsCode/obsidian-meta-bind-plugin/tree/master/exampleVault) from the official documentation. You can copy this into a new note in order to replicate the test cases shown in the video above. #### Example Calculators You can find a list of calculators made with Meta Bind from this page. [[TTRPG Calculators]] ```` --- publish: true time: 09:12 date2: 2024-10-17 date1: 2024-07-07 editor1: |- # Heading test test more test ### Heading 3 image: z_Assets/Ararona.png select: 1 select2: 1 select3: 2 hours list: - Option 1 - Another option slider1: 87 slider2: 6 slider3: 526 fileSuggest2: "[[2-Mechanics/CLI/spells/blindness-deafness.md|blindness-deafness]]" fileSuggest: "[[2-Mechanics/CLI/spells/spider-climb.md|spider-climb]]" toggle1: false toggle2: 0 text: this is text textArea: |- Test More text This is more text suggest: option 3 multiSelect: - option 1 - option 2 - option 3 JumpInputStrength: 45 number: 55 toggle3: off text2: this is new text3: asdasd number2: 100 progress1: -7 --- # Meta Bind Examples #### Plugin Link [Meta Bind](obsidian://show-plugin?id=obsidian-meta-bind-plugin) ### Input Fields Input fields allow you to create input fields for your notes metadata and interact with them in live preview and reading mode. A bit like properties, but not just at the top of your note. There are two ways to format the `Input Fields`. **Inline:** `INPUT[text(showcase, title('this is a cool title')):text3]` **Block:** ```meta-bind INPUT[text(showcase, title('this is a cool title')):text3] ``` ## Input Examples ### Date `INPUT[date:date1]` `VIEW[{date1}]` ### Date Picker `INPUT[datePicker:date2]` `VIEW[{date2}]` ### Time `INPUT[time:time]` `VIEW[{time}]` ### Editor `INPUT[editor:editor1]` `VIEW[{editor1}]` ### Image Suggestor `INPUT[imageSuggester(optionQuery("z_Assets")):image]` `VIEW[{image}]` ### Inline Select `INPUT[inlineSelect(option(a), option(b)):select]` `VIEW[{select}]` `INPUT[inlineSelect(option(1, a), option(2, b)):select2]` `VIEW[{select2}]` `INPUT[inlineSelect(option(1 hour, a), option(2 hours, b)):select3]` `VIEW[{select3}]` ### List `INPUT[list:list]` `VIEW[{list}]` ### Number `INPUT[number:number]` `VIEW[{number}]` ### Default Value `INPUT[number(defaultValue(100)):number2]` `VIEW[{number2}]` ### Progress Bar `INPUT[progressBar(minValue(-10), maxValue(3)):progress1]` `VIEW[{progress1}]` ### Select `INPUT[select(option(1, option 1), option(2, option 2), option(3, option 3)):select]` `VIEW[{select}]` `INPUT[select(option(1, option 1), option(false, option 2), option(null, option 3)):select2]` `VIEW[{select2}]` ### Multi Select `INPUT[multiSelect(option(option 1), option(option 2), option(option 3)):multiSelect]` `VIEW[{multiSelect}]` ### Simple Slider `INPUT[slider:slider1]` `VIEW[{slider1}]` ### Slider with Labels `INPUT[slider(addLabels):slider1]` `VIEW[{slider1}]` ### Slider with custom min max values `INPUT[slider(addLabels, minValue(-20), maxValue(20)):slider2]` `VIEW[{slider2}]` `INPUT[slider(addLabels, minValue(0), maxValue(1000)):slider3]` `VIEW[{slider3}]` ### Simple Suggester `INPUT[suggester(option(option 1),option(option 2),option(option 3)):suggest]` `VIEW[{suggest}]` ### Suggester with Dataview Note, that this will error, if dataview is not enabled. `INPUT[suggester(optionQuery(#spell/level/2)):fileSuggest]` `VIEW[{fileSuggest}]` ### Text `INPUT[text:text]` `VIEW[{text}]` `INPUT[text(placeholder(Appointment Location)):text2]` `VIEW[{text2}]` ```meta-bind INPUT[text(showcase, title('this is a cool title')):text3] ``` `VIEW[{text3}]` ### Text Area `INPUT[textArea(class(meta-bind-full-width), class(meta-bind-high)):textArea]` `VIEW[{textArea}]` ### Toggle `INPUT[toggle:toggle1]` `VIEW[{toggle1}]` `INPUT[toggle(onValue(1), offValue(0)):toggle2]` `VIEW[{toggle2}]` `INPUT[toggle(onValue(on), offValue(off)):toggle3]` `VIEW[{toggle3}]` # View Example View Fields are a powerful way to reactively display your metadata in your notes. They can bind to multiple frontmatter fields and update as soon as you change them, much like dataview inline queries, but with Obsidian Publish support. View Fields use [mathjs expressions](https://mathjs.org/docs/expressions/syntax.html) under the hood. Calculate multiple properties: number: `VIEW[{number}]` `VIEW[{JumpInputStrength}+{number}]` `INPUT[number:JumpInputStrength]` Long Jump with running start: `VIEW[{JumpInputStrength}]` Long Jump from standing: `VIEW[{JumpInputStrength}/2]` High Jump with running start: `VIEW[(({JumpInputStrength}-10)/2)+3]` High jump from standing: `VIEW[round((({JumpInputStrength}-10)/2)+3)/2]` ## Reference Properties From Other Notes Note, that this will error, if you do not have the Party Configuration note in your vault. `VIEW[{Party Configuration#BaseSpeed}]` `VIEW[{Party Configuration#DangerLevel}]` `VIEW[{Party Configuration#BaseSpeed}+{Party Configuration#DangerLevel}]` ````