Simple Side Notes

Ive finally realized a very simple way to implement this…

Ive looked everywhere for something like this- a simple sidebar for aditional notes on a file (so, per file) that remains there no matter how we scroll through the file, always editable… its a great feature in scrivener (called scrivenings), with similars in the form of comments in other apps- others like Notion just let us make columm on the notes thenselves… And its a cornerstone of methods like Cornell notes

Couldnt find any plugin pulling it off yet- and the closes i could get were css snippets that turn something into side notes or columm on reading mode.

Previously i tought it would be a complex one to pull off- a particular folder for the plugins ‘side notes’ as extra md files, or even saved in plugin data outside of the vault…

But then i realized all it would need is making the ‘hack’ bellow automated

One way i pulled it off quite some times is by making a duplicate tab of the same file, dragging it to the side bar and just scrolling to a sidenotes header at the bottom- or just spliting right hiding the sidebar.

But that isnt feasible to be done all the time…

The Idea

Setup:

  • A tab by default on the right sidebar that shows a texbox- actually an editor view, and actually targeting the active file
  • In settings an editable textbox for the side notes target- by default something like #####Side Notes
  • A toggle for ‘auto create side notes target’, explaining it only work on .md files.
  • optional, bonus could be nice being able to change the background color of said side notes

Logic

1) On render the side notes editor scans active file for target and ‘embeds it’

  • First ocurrence of the string on the active file
  • In theory would also work on canvas, first card made with that string
  • Either it shows everything bellow that marker or it works like embeding headers (meaning the next header equal or lower then it wouldnt show)

2) If theres no target and the ‘create’ setting is turned on, clickin on the editor creates it

It pastes the string on the bottom of the file(.md files only) and renders it.

3) Its just another view of the same note

Live editor/preview mode, in theory all plugins the user uses would work normally- as it would logically be a note on the side bar.

I imagine that would be a very simple plugin, mostly relying on something Obsidian can already do… it would just be swaping the active file

Is that too tall of an ask?

Im also open to alternatives in case i missed some plugin… or if theres some way to make that myself manually- like idk, putting a note on the sidebar, a header embed (somehow editable) but the target of said embed being ‘active file’…

Any ideas?

PS: obviously im no coder, but given the apparent simplicity of the idea i wonder if AI could do it… looking around most tips ive seen are geared towards coders using AI to help, not really a clueless normie asking for a whole plugin. Anyone knows or have experience if doing Obsidian plugins like this can work? Can i just trial and error prompt AI to just make this for me?

Perhaps until you get your solution you can keep a dedicated “Side-note” pinned on your side bar and manually move the content to the end of your note. However that requires that you don’t simultaneously work on your side-notes for multiple notes.

Ive tried that, i do some of it- from a file acting as clipboard/scrappad to using my daily notes… but i swap around files constantly. I still do that with some things sort of like a ‘2do list’, as that also works as a reminder (do or add this to that file) wich benefits from being global… but isnt practical for most usecases, wich would be each files own sidenotes.

From files that are too long, to big outlines (i decided to go full Obsidian, but i still do big outlines like i did in workflowy and logseq), long form writing… for a variety of reasons theres things id like being always consultable, without scrolling back-forth to lookup then remenber where i was to scroll back…

What ive been doing all this time to a limited extent is just spliting right or opening the same file in a new window, keeping one window on the header where i add reminders, comments, tasks for that file- but i do so ocasionally, im swaping files around constantly and doing that every time eats on time, breaks flow…

That is the main thing i miss from my time with scrivener. Lots of reasons for me not using scrivener anymore- good for writing, not a second brain, and i benefit way more of everything together- but the quality of life from that alone is huge.

A couple of alternatives:

  • Enable Settings > Core Plugins > Properties viewer to show the current note’s properties in the sidebar, and write the notes in properties. Downside: Properties aren’t meant to hold large amounts of text (im not sure there’s anything stopping you from doing it, but the interface might not support it well).

  • The Virtual Content community plugin.

1 Like

Im afraid of dumping so much text on properties… the way use “aditional notes”, comments and so on beyond the main scope of notes is a lot and frequently. Depends on note of course, some are atomic (trying my own zettel too), others are big outliners… right now for example ive been studyig a lot, and while i make separate notes on specific subjects and terms i concentrate a lot more on big notes- either my text or raw text from books…

wich is why i often split the same document to the right- wich works, but only so for one note or so since soon im once again going back and forth comparing other notes, adding or making links to then…

I got curious about the Virtual Concent suggestion tough. I had seen it before but dismissed it…
But checking the plugin directly i havent figured out if im missing something… it renders text and markdown files but

  1. The content isnt editable, neither in footer nor in the sidebar
  2. Could some form of syntax make it dynamic? Like ‘show header from active file’?

If 2 is possible it would be halfway there- but enougth for consulting the notes on the fly

I haven’t used the plugin so I’d guess those are just issues I didn’t notice when skimming the description (I had heard mention of the plugin recently; otherwise wouldn’t know about it).

Is it like sticky note that sticks on the sidebar forever? like a text field with markdown syntax too?

I guess it can be done using custom made callout that is invisible (so it is not intrusive) on the end of the markdown file line, then can be shown and render the markdown syntax from callout to the sidebar.

I would like to know, maybe I can help making the plugin

Thats the gist of the idea, pretty much. The mentioned feature in scrivener is pretty much that, but editable (not just rendering the markdown) - but even a uneditable fixed render would already be helpful, the plugin wouldnt work so much as side notes on the fly but would allow to consult/see all previous sidenotes quickly…

I personally wouldnt it being visible or not(at the bottom). Callouts could work, i suggested a header and keyword thinking about flexibility and scalability- i guess would make it easier for said sidenotes to have any length and any content, even callouts thenselves. I know callouts inside callouts is a native feature but making then gets unwiedly quickly (unlike indented bullets)

While the concept seems simple at first, building a side-notes plugin becomes increasingly complex as your requirements evolve. Here are the primary challenges you will face:

* **Data Storage & Integrity:** To avoid cluttering your primary notes, you will likely store side notes in a hidden folder. Storing them directly within your main `.md` files risks data corruption and makes the content difficult to export or use elsewhere without significant “noise.”

* **The Linking Problem:** If you want a “per-note” experience while keeping data separate, you must link side notes to their parent files. This creates a synchronization nightmare: if a note is renamed or moved while the plugin is disabled or via an external app, the connection breaks. Handling these edge cases requires a sophisticated tracking system.

* **Performance at Scale:** As your library grows to thousands of side notes, you will encounter significant lag. To maintain a smooth UI, you’ll need to implement virtualization (only rendering what is visible).

* **Search & Indexing:** Searching through hundreds of individual Markdown files in a hidden folder is incredibly inefficient. To make search viable, you’ll need to build and maintain a dedicated index using something like IndexedDB.

**Building with AI:**

If you plan to use AI to build this, you have to decide what you’re willing to “burn”:

* **Burn Money:** Use Cursor with Claude Sonnet (preferable opus) for the highest quality code.

* **Burn Brainpower:** Use Google AI Studio (Gemini) to manage the logic yourself.

* **Burn Both:** Attempt to use autonomous AI agents without a high-tier model like Claude.

I believe you something like this attached image.

I tought so in the past, i think ive made or participated in a thread for a feature request for sidenotes or something similar.

But the whole idea this time is a simpler alternative that circunvents exactly those hurdles you mentioned.

-We already store thousands of md files, obsidian files/notes

-Instead of some cumbersome or complex ‘extra notes’, ‘hidden’ or whatever, since they would be attached/tied to particular files… theyre stored in the files thenselves

-Not even the need for then to be hidden- a header at the bottom(my sugestion, but i imagine a plugin could use any number of strings as the ‘marker’, the identifier) would work similarly to footnotes, and is futureproof. Even if such a plugin breaks or someone migrates away from obsidian, each notes ‘side notes’ would already be in their parent notes- because they would be part of the note

The simplest execution imaginable was the main point of my idea/suggestion. Its just rendering part of a note on the sidebar(ideally editable). It would be almost like opening a duplicate tab of the current file on the sidebar- only difference being it would be focused on a header… part of why i suggested a header was because even that is already native to obsidian - we can embed pages showing a header only, we can do the same with notes imported into a canvas…

Perhaps i couldve mentioned embeds as reference first thing- my idea is almost the same as a header embed (file embed focused on header, ie [[file#header]])- but editable. The plugin looks for a specific header on every file when its focused, if that header is present it would show its contents

Another pro is that it would be very flexible… if someone wants sidenotes with ‘titles’, they can use bold, subheaders etc, or someone else could use the plugin just for an outline, or for image references, or heck even embeding an pdf (so whenever they open that file it imediatly launches a pdf on the sidebar)…

You got the idea of sidenotes, mine and many other suggestions in the past is just like youve mentioned, and it was never picked up as a feature nor plugin idea precisely for being complex. It would be neat seeing on the sidebar a + button, clicking to create different sidenotes etc… but not really needed. Want to add to a sidenote, edit, etc- just click on the sidebar, since it is secondary view of the same md file you were already editing… click on the side, type, click back on the note… or just write on the note itself, since it would be plain text under a header within the note.

Scrivener, a software for writers, does sidenotes pretty much just like i mentioned. I think its called scratchpad if im not mistaken. The only difference its hidden in the main file and only appears on the sidebar- but the file logic of scrivener theyre both the same file. The scivenings/scratchpad in scrivener is just a yellow looking plain notepad, just like the main file…

I see your point now—that approach is much simpler than what I originally proposed. My initial vision for the side notes plugin was heavily inspired by Google Keep. I wanted a way to capture quick ideas and snippets without cluttering my vault with dozens of tiny files; I pictured a sidebar I could simply scroll through.

​After your explanation, I agree that keeping side notes directly within the note is a better path. I think I got too caught up in the technical ambition and overlooked the simplicity of your suggestion.

IA Writwr does something similar with their “authorship” feature, which stores its highlight ranges in a data block at the end of the file. (It’s not as readable as a bunch of notes because it just identifies locations in the note and a bit of info about them.)