So I’ve be playing with adding hidden UIDs to the end of each numbered line I have. This essentially gives me a unique identifier for every line of text, regardless if the text ever changes, right in the md files. If these could be linked or better yet referenced, with say (()), you could get a much more nuanced linking system.
If there was a plug in for a UID to be generated at the end of every line with text (numbered line), as < p hidden > UID </ p >.
This would happen in the background as you work (could the hidden UIDs be toggled to be hidden while in editor? Would make the editor cleaner).
Then say you type (( which begins a global text search, type until you find the line you’re looking for, select.
Plugin then takes the source notes title, the line’s UID, and perhaps even copies the text itself (if needed for portability) and paste them into the destination note.
Example:
In [[UID201810 - Obsidian Notes | Obsidian Notes]]
Type “My great notes” on a line
Obsidian generates UID at end of line < p hidden>UID123 < /p>
So the line becomes:
My great notes < p hidden>UID123 </ p> (UIDs are always hidden)
On another note [[UID20181011 - Cool Places | Cool Places]]
To reference type “((”
Begin typing “My gr”
“My great notes” will be autosuggested by doing a global (formatted?) text search.
Select.
Selecting will have Obsidian take the sources file name, the hidden UID of that line and text in that line, then generate a UID for the destination line. It writes the ref like this:
“[[UID201810 - Obsidian Notes | Obsidian Notes]] (UID123)((My great notes))< p hidden>UID456</ p>”
This displays/renders as:
“My great notes” (visual indication it’s a referenced block)
Obsidian’s generation allows the destination files text to to contain the sources file name, the lines UID, the text in the line, the embeds lines UID all the .md file to allow for portability.
Obsidian, the viewer, would I guess would use a novel, but easily convertible syntax (sort of like | currently) to make the generated notes more legible.