-
Notifications
You must be signed in to change notification settings - Fork 12
Text blocks graph
Personal Knowledge Management (PKM) systems revolve around managing a graph of notes. However, every Markdown file is a graph in itself. Let me explain with an example:
# Header 1
Paragraph 1
Here, Header 1
is the logical parent of Paragraph 1
.
# Header 1
## Header 2
Paragraph 1
In this example, Paragraph 1
belongs to Header 2
, which in turn belongs to Header 1
.
You get the idea: it effectively forms a tree (which is also a graph) of text blocks.
So, why does this matter? Suppose I want to find something in my notes graph. I can achieve better results using context-aware search. For example:
# Projects
## My new shiny thing
Paragraph 1
If I type "Proj" in the search bar, I should get two matches:
Projects > My new shiny thing
Projects
And if I type "shiny," the search result should be:
Projects > My new shiny thing
This way, I gain a bit of context.
Okay, it sounds promising, but how can I scale this to thousands of notes and multiple contexts?
It's simple. Just use the "Maps of Content" (MOC) approach:
# Projects
[[My new shiny thing]]
[[The old thing]]
[[The old thing 2]]
This will yield similar search results:
Projects > My new shiny thing
Projects > The old thing 2
Projects > The old thing
Projects
With this approach, you can delve as deep as you like:
# Personal
[[Projects]]
Personal > Projects > My new shiny thing
Personal > Projects > The old thing 2
Personal > Projects > The old thing
Personal > Projects