commit 557f9428165651d83ef52e38d1d3285f3ec0cc34 Author: 5krus Date: Wed May 27 06:02:24 2026 +0100 Initial release of Seamless Embeds plugin Makes embedded/transcluded notes visually indistinguishable from surrounding text in Obsidian. Co-authored-by: Cursor diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..c2658d7 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +node_modules/ diff --git a/README.md b/README.md new file mode 100644 index 0000000..ee21cc0 --- /dev/null +++ b/README.md @@ -0,0 +1,32 @@ +# Seamless Embeds + +An Obsidian plugin that makes embedded (transcluded) notes visually indistinguishable from the surrounding text. + +When you use `![[Note Name]]` to embed a note, Obsidian normally renders it with a border, indentation, and link icon. Seamless Embeds removes all of that so the embedded content flows naturally as part of the document — readers can't tell where one note ends and another begins. + +## What it does + +- Removes borders, padding, and margins from embeds +- Hides the embed title and link icon +- Makes divider lines (`---`) inside embeds match full document width +- Works with nested embeds (embeds within embeds) +- Works in both Reading mode and Live Preview + +## Installation + +### From the Community Plugin Store + +1. Open **Settings → Community plugins → Browse** +2. Search for **Seamless Embeds** +3. Click **Install**, then **Enable** + +### Manual Installation + +1. Download `main.js`, `styles.css`, and `manifest.json` from the [latest release](https://github.com/5krus/obsidian-seamless-embeds/releases/latest) +2. Create a folder at `/.obsidian/plugins/seamless-embeds/` +3. Place the three files inside that folder +4. Restart Obsidian and enable the plugin in **Settings → Community plugins** + +## Usage + +Just install and enable — there are no settings. All `![[embeds]]` will render seamlessly. diff --git a/main.js b/main.js new file mode 100644 index 0000000..0cb0c6f --- /dev/null +++ b/main.js @@ -0,0 +1,10 @@ +"use strict"; + +var obsidian = require("obsidian"); + +class SeamlessEmbedsPlugin extends obsidian.Plugin { + async onload() {} + async onunload() {} +} + +module.exports = SeamlessEmbedsPlugin; diff --git a/manifest.json b/manifest.json new file mode 100644 index 0000000..bb0d260 --- /dev/null +++ b/manifest.json @@ -0,0 +1,10 @@ +{ + "id": "seamless-embeds", + "name": "Seamless Embeds", + "version": "1.0.0", + "minAppVersion": "1.0.0", + "description": "Makes embedded/transcluded notes visually indistinguishable from surrounding text.", + "author": "5krus", + "authorUrl": "https://github.com/5krus", + "isDesktopOnly": false +} diff --git a/styles.css b/styles.css new file mode 100644 index 0000000..cd850dd --- /dev/null +++ b/styles.css @@ -0,0 +1,39 @@ +.markdown-embed, +.markdown-embed-content, +.markdown-embed .markdown-preview-view { + border: none !important; + padding: 0 !important; + margin: 0 !important; + border-left: none !important; + border-right: none !important; + border-radius: 0 !important; + background: none !important; + max-width: 100% !important; + width: 100% !important; + box-shadow: none !important; +} + +.markdown-embed .markdown-embed-title, +.markdown-embed .markdown-embed-link { + display: none !important; +} + +.internal-embed { + padding: 0 !important; + margin: 0 !important; + max-width: 100% !important; + width: 100% !important; +} + +.internal-embed .markdown-embed { + padding: 0 !important; + margin: 0 !important; +} + +.markdown-embed hr, +.internal-embed hr { + width: 100% !important; + max-width: 100% !important; + margin-left: 0 !important; + margin-right: 0 !important; +}