Search...Search plugins and themes...
⌘K
Sign in
  • Get started
  • Download
  • Pricing
  • Enterprise
  • Account
  • Obsidian
  • Overview
  • Sync
  • Publish
  • Canvas
  • Mobile
  • Web Clipper
  • CLI
  • Learn
  • Help
  • Developers
  • Changelog
  • About
  • Roadmap
  • Blog
  • Resources
  • System status
  • License overview
  • Terms of service
  • Privacy policy
  • Security
  • Community
  • Plugins
  • Themes
  • Discord
  • Forum / 中文论坛
  • Merch store
  • Brand guidelines
Follow us
DiscordTwitterBlueskyThreadsMastodonYouTubeGitHub
© 2026 Obsidian

Tidemark

Real-Fruit-SnacksReal-Fruit-Snacks106 downloads

Replace {{variables}} with YAML frontmatter values on demand

Add to Obsidian
Tidemark screenshot
  • Overview
  • Scorecard
  • Updates8
Tidemark

Replace {{variables}} in your Obsidian notes with values from YAML frontmatter — color-coded in the editor, resolved on demand.

Install · Documentation · Changelog · Report an issue


Overview

Tidemark is a variable-substitution plugin for Obsidian. Define values once in a note's YAML frontmatter, reference them anywhere in the body with {{variable}} syntax, and copy or replace them with a single command. Every token is color-coded live in the editor — mint when it resolves, amber when it falls back to a default, red when it's missing — so you can see the state of a template at a glance.

The engine parses frontmatter, resolves nested dot-notation and joined arrays, and emits CodeMirror decorations for real-time highlighting. Frontmatter is only ever read for substitution and written through Obsidian's own APIs, so your YAML stays valid.

Features

  • Color-coded states — resolved, has-default, and missing tokens are tinted as you type.
  • Nested & arrays — {{server.ip}}, {{items[0]}}, and arrays joined by a configurable separator.
  • Inline defaults — {{port:22}} uses the default when the key isn't set.
  • Copy or replace — line, selection, or whole document, with variables resolved.
  • Rename from variables — resolve variables in the filename via Obsidian's file manager.
  • Set values in place — a command and editor-menu item to set a variable's frontmatter value from the cursor.
  • List variables — a searchable modal of every variable in the document and its state.
  • Custom delimiters — swap {{ }} and the default separator for your own.

Syntax

Form Meaning
{{name}} Resolve name from frontmatter
{{name:fallback}} Use fallback if name is missing
{{server.ip}} Nested dot-notation
{{items[0]}} Array index

Installation

Requires Obsidian 1.0 or newer.

Community plugins (recommended)

  1. Open Settings → Community plugins → Browse.
  2. Search for Tidemark, then Install and Enable.

Or open it straight from obsidian.md/plugins?id=tidemark.

BRAT (latest pre-release)

Install BRAT, then add Real-Fruit-Snacks/Tidemark as a beta plugin.

Manual

Download main.js, manifest.json, and styles.css from the latest release into <your-vault>/.obsidian/plugins/tidemark/, then enable Tidemark under Settings → Community plugins.

Commands

Command Description
Copy current line (replaced) Copy the cursor's line with variables resolved
Copy selection (replaced) Copy the selection with variables resolved
Copy document (replaced) Copy the whole document with variables resolved
Replace in selection Replace variables in the selection (or line) in place
Replace all in document Replace every variable in the document body
Replace in document and filename Replace in the body and rename the file
Rename file (replace variables) Resolve variables in the filename only
List all variables Open a searchable list of variables and their state
Set variable value Set the frontmatter value for the variable at the cursor

A Tidemark: Set variable value item is also added to the editor right-click menu.

How it works

Values live in the note's frontmatter; {{variables}} in the body reference them. Tidemark reads the frontmatter from the live editor buffer (so unsaved edits count), resolves each token, and colors it by state. Copy commands leave the document untouched; replace commands apply targeted edits; and setting a value writes only the frontmatter block — never overwriting invalid YAML.

Contributing

Contributions are welcome. Please read CONTRIBUTING.md and the Code of Conduct before opening a pull request.

License

Released under the MIT License.

HealthExcellent
ReviewSatisfactory
About
Define variables in a note's YAML frontmatter and reference them with {{variable}}, {{var:default}} or nested dot paths to substitute values. Copy or permanently replace filled values by line, selection, or entire document and see live color-coded highlights for defined, fallback, and missing variables.
TemplatingSyntax
Details
Current version
1.0.6
Last updated
Last week
Created
5 months ago
Updates
8 releases
Downloads
106
Compatible with
Obsidian 1.0.0+
Platforms
Desktop, Mobile
License
MIT
Report bugRequest featureReport plugin
Author
Real-Fruit-SnacksReal-Fruit-Snacksreal-fruit-snacks
GitHubreal-fruit-snacks
  1. Community
  2. Plugins
  3. Templating
  4. Tidemark

Related plugins

Templater

Create and use dynamic templates.

Folder notes

Create notes within folders that can be accessed without collapsing the folder, similar to the functionality offered in Notion.

LifeOS

Life management system.

Fantasy Statblocks

Create, manage and view a Fantasy Bestiary with Dungeons and Dragons style statblocks.

Raindrop Highlights

Sync your Raindrop.io highlights.

Periodic Notes

Manage your daily, weekly, and monthly notes.

QuickAdd

Quickly add new notes or content to your vault.

Kindle Highlights

Sync your Kindle book highlights using your Amazon login or uploading your My Clippings file.

Journals

Manage your journals.

Whisper

Speech-to-text using OpenAI Whisper.