Dirk Osburg44 downloadsCopy frontmatter from linked source notes into dependent notes. Forward and reverse sync.
Automatically copy properties from a linked source note into dependent notes in Obsidian.
Useful when one note references another (for example via a wikilink or markdown link in a property) and should inherit selected frontmatter values from that source — without maintaining duplicate data by hand.
You define source notes that hold the canonical values for certain properties. Dependent notes point to a source through a property which contains a link. The plugin copies the properties you configure from the linked source note into the dependent note, so for example Bases, queries, maps, and other views can use the data where you need it.
The linked note remains the source of truth. Changes on either side trigger an update:
A common setup with the official Maps plugin: each place lives in its own note under Locations/, with coordinates property in frontmatter. A Base in that folder shows every place on one map.
Event notes under Events/ may link to the matching location note via a property (for example venue) instead of duplicating address and coordinates. Dependent Properties reads that link, copies the configured properties from the location note, and keeps dependent event notes in sync when the source changes.
| Field | Value |
|---|---|
| Root folder | Events |
| Link property | venue |
| Attributes to copy | coordinates |
Dependent note Events/Public Festival.md:
---
venue: "[[Berlin Mitte]]"
coordinates: # filled in automatically from source note
---
Source note Locations/Berlin Mitte.md (location):
---
coordinates: ["52.5200", "13.4050"]
---
types.jsonOnce enabled, the plugin watches your vault according to the rules in Settings → Dependent Properties.
Typical workflow:
Events/).venue) to point at a source note (e.g. Locations/Berlin Mitte.md).coordinates) are copied from the source note into the new note automatically.When you update coordinates on the source note, all linked notes receive the new values.
| Command | Description |
|---|---|
| Sync current file | Sync the active markdown file in the editor (click into the note first). |
| Sync all matching files | Run all enabled rules on every note under the configured root folders. Asks for confirmation before scanning. |
Open the command palette (default shortcut Ctrl/Cmd + P) to run these commands.
Open Settings → Dependent Properties.
| Setting | Description |
|---|---|
| Debounce in ms | Delay after file changes before syncing (default: 750). |
| Debug | Log skip and sync events to the developer console. |
| Rules | One or more sync rules (see below). |
| Field | Description |
|---|---|
| Enabled | Enable or disable the rule. |
| Name | Label for your own reference. |
| Root folder | Only notes under this path are synced (e.g. Events). Folder suggestions appear while typing. |
| Link property | Property on the dependent note that contains the wikilink or markdown link to the source. Suggestions come from your vault property types. |
| Attributes to copy | One or more properties to copy from the source note (same property name on both notes). Add multiple entries in the rule editor. New property names can be registered in types.json. |
Fresh installs start with no rules configured. Debug logging is off by default.
getAllFolders() only while you edit a rule in settings.isDesktopOnly is set to false in manifest.json. Reverse sync uses MetadataCache.getBacklinksForFile when available; on older builds without that API, forward sync still works and reverse sync is skipped gracefully.
npm install
npm run dev # watch mode
npm run build # production build
npm run lint # Obsidian community scanner rules
Build artifacts and dev files follow Obsidian community scanner ignore patterns (esbuild.config.mjs, node_modules/, *.test.*, etc.).
MIT — see LICENSE.