Mirror

pending

by jdsimcoe

Turns block references into live mirrored transclusions with inline previews and editing.

1 starsUpdated 12d agoMITDiscovered via Obsidian Unofficial Plugins
View on GitHub

Obsidian Mirror logo

Mirror

Mirror is an Obsidian plugin for block transclusion that makes referenced content feel alive instead of static. It lets you embed transcluded block references directly in your notes, edit mirrored content from either location, and create new block references quickly from backlinks or @mention search.

Install

From source

  1. Run npm install
  2. Run npm run build
  3. Copy main.js, manifest.json, and styles.css into:

<Vault>/.obsidian/plugins/mirror/

Then enable Mirror in Settings -> Community plugins.

Features

Embed transcluded block references

Mirror turns full-line block embeds like ![[Some note#^block-id]] into a more useful transclusion experience in your document. In Live Preview, the embed becomes a live mirrored block with editing controls. In Reading View, Mirror renders a simplified version so the document stays clean and readable.

Because the embedded block is still connected to the source, editing in either place updates the same underlying content. That gives you true transclusion instead of a copied snippet that drifts out of sync.

Embed transclusion screenshot

Copy mirrored embeds from linked mentions

Mirror adds a copy button to linked mentions in the backlinks sidebar. When you click it, the plugin finds the matching mention block, creates a block reference ID if one does not exist yet, and copies the embed-ready reference so you can paste it directly into another note.

This makes it much faster to turn existing linked mentions into reusable transclusions without manually hunting for block IDs or writing the syntax yourself.

Linked mentions copy screenshot

Search with @mention and insert any block

Mirror includes an @mention search flow that can find matching text across your Obsidian vault and turn it into a block reference right from the editor. Start a line with @, search for the text you want, then select a result to generate a block ID when needed and insert the reference into your document automatically.

This is the fastest way to turn existing writing anywhere in your vault into something you can immediately embed and reuse.

At mention search screenshot

Privacy

Mirror runs locally in your vault and does not send note contents to external services. It only writes to files when you explicitly trigger an action that needs it, such as editing a mirrored block or generating a missing block ID.

Development

  • npm install
  • npm run dev
  • npm run build
  • npm run lint

Release

  1. Update manifest.json with the new version.
  2. Update versions.json with the matching minimum supported Obsidian version.
  3. Run npm run build.
  4. Create a GitHub release tag that exactly matches the plugin version without a v prefix.
  5. Attach main.js, manifest.json, and styles.css to the release.

For plugin developers

Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.