Auto Scroll
Select text to annotate, Click play in YouTube to begin
hey everybody it's skeptic mystic from the obsidian forums and from the discord in this video i'm going to be showing you how to use breadcrumbs and all of its new features from scratch
from a fresh install of the plug-in just an overview if you haven't heard of breadcrumbs before it's a way to add hierarchical structure to your notes so
um with regular obsidian you can use folders and tags but when you're linking to other nodes there isn't really a way to create a hierarchy between your notes and so breadcrumbs is a way that enables
that it's very flexible as we'll see if customizable you can create the structure in many different ways and it's non-constraining so whereas there's a big debate over
whether to use folders or other means of creating structure using breadcrumbs to create that structure doesn't constrain you in the same way that folders do a node can have multiple parents for
example where a node can't be in two folders at once but we'll get into that so the the main way that we're going to create this structure is um what i'm just going
to call regular breadcrumbs and we have to set that up to begin with so i may still need to install the plugin you can come over to the community
plugins list search for breadcrumbs and install it so to first set up what we need to do is come over here into the breadcrumb
settings go to the hierarchies tab and you'll see here there's a bit of documentation but i'm going to be going through this anyway and
what this is is a hierarchy you can have multiple hierarchies and breadcrumbs comes with this one hierarchy by defaults and what this is saying that
is if you want to point to a node as the parent of the current node for example you can use the up field name you can use same to indicate a sibling relationship down for children
next and previous for those two relationships and so you can change this as well you could have multiple upwards field names so up or parent
would point upwards from the current notes you can even create multiple hierarchies from scratch so this could be like dad brother mom for example
and and so this would be an entirely different hierarchy which has its benefits as we'll see but for now i'm just going to stick with the default hierarchy that comes with breadcrumbs on a fresh install
so with that we can say let's create a node for myself and we can say that pointing up is the note towards
my dad and so we can put this in the yaml of the notes like so and i'll also show an example of using bread uh data view inline fields as well
and so this is already enough to now leverage the power of breadcrumbs if it isn't already open you can run you can open the matrix view from the
command palette using this command it's already open on my obsidian and anytime we change the structure we need to refresh the index just to make it reflect on bread crumbs aside
and we can see here that it recognizes this relationship it's saying that in the upwards direction from the perspective of me is my dad and so we can click on that
note it will create the notes if it isn't already created and already an interesting feature of breadcrumbs is that now that we're on the notes about my dad we can see that breadcrumbs knows that
going downwards in the opposite direction is the notes about me because if my parents is my dad then i must be my dad's child right it
picks up that implied relationship given the real relationship in the upwards direction and so we could we could then say that my grandpa on my dad's side
i'll just get rid of that apostrophe so uh pointing upwards from my dad is his dad we could refresh the index to have that reflect and we'll see that it's implied that i'm
my dad's child and there's a real relationship pointing upwards to my dad's dad and again if we then move to my dad's dad's note
it's implied that his child is my father which um i'm going to install the dataview plugin i prefer the inline fields if you haven't heard
of dataview it's a very popular plugin um and one feature that it enables is inline metadata so we could say for example um someone on the same
level as my dad's dad is grandma on my dad's side they are on the same level of the family tree
we refresh the index that's reflected we could jump to that note and it's also implied that my grandpa is on the same side the same level of the family tree as my grandma
that implied relationship all right um so that's already quite a useful feature we can start like fleshing out these hierarchies we could move through them quite quickly
go towards this and say perhaps my mom is yeah so you can add multiple notes in the same relationship and that will be reflected as such
um [Music] interesting feature if we remove that and go to notes on my mum and add here that downwards is me
this is still because i haven't refreshed the index this still reflects the old value and so that's gone now if we then add that back
there's now a real relationship pointing towards me and the implied relationship pointing back up towards my mum good so that's a basic overview of the matrix
view um you can also show it as a list it's showing the same information uh just in this like drop down yeah and i'm going to show so this is
the first most basic way of creating structure in your vaults it's very manual very customizable and we can leverage that structure using the matrix
view i think next the trail view is a good place to pick up from so if we go into reading mode what used to be called preview mode
we can see here that we get this trail view and this then points upwards it shows all paths going up the parent tree from the current nodes so
my dad's from my dad's perspective going upwards is his grandpa and from this note it has no real or implied parents because this note doesn't have any
upwards fields and um we could also make this more explicit by saying going down from my grandma
is my dad just let that refresh and when we change to this mode you can see that from my dad's perspective his dad
and his mother are both his parents and if we step down to the notes about me we can see a bit more we can see that both my dad and my mother are my immediate
parents and we can see the parents of those notes this is shown in both of these views by default this just shows the shortest path going up the parent tree
and because i haven't filled in my mom's parents that's going to be the shortest path going upwards but we can see all of them i prefer the grid view um and there are a lot of settings that you can toggle so
under the trail or grid view um you can make it show in edit in live preview mode you can make it show only the grid view for example i'll show that in a moment yeah so
this gives another means of quickly navigating our notes using the the structure that we've set up um i think
i'll show the stats view and then we can go into some of the different alternative hierarchies and different ways of creating structure the stats view shows us a lot of numbers um
it breaks down each of your different hierarchies currently we only have this one hierarchy right we could add some more and i'll show that in a moment but it breaks down each of your hierarchies and
shows the number of nodes in each direction so we can see that um there are three nodes that are being pointed upwards being pointed to in the upwards
direction there are two edges um using this upwards field and we can see them here yeah so there's a lot of information that you can get out of this and if you
click on one of these cells it copies that information to your clipboard so we could just paste those relationships in yeah and do with them whatever you need
to and so that's the stats view and if you have multiple hierarchies it will break down the stats about each of them all right so let's look at alternative hierarchies now
these give you uh often an easier way of creating this structure than the more manual approach that i've shown so far using the metadata fields
um let's start with tag notes so i'm going to create a new note called tag note and a tag note takes
it looks and show it like this so in the yaml of your note you will type out vc dash and you'll see a few different options pop up we want to select tag notes so you can just fill
that in and to indicate that a note is a tag note it needs this field and a tag that you wanted to look for so i'm just going to use tag say book for example
and nothing will happen right now because i don't have any tags in this vult but if i say make a book sapiens and give it the tag book
we go back to this tag node and refresh we can see that it's picked up that this note here has the tag book and it points to it in the upwards direction by default
right so you can do quite a lot with that you can say um survival for example make that book and now it's got both of these nodes being pointed to in the upwards direction and we can see that being
reflected in the trail view as well but so you can also customize what field it uses by choosing the tag node field and we can say
point downwards instead of going up and and it will do so because that's been updated it's now accurate that this node has no real or implied parents so you can do quite a lot with that it
works with sub tags as well um if you look for say like source notes books uh this will only show books but if you
have say like films for example um and you only look for source notes it will show books and films right all right another feature is a
link note a link note is set up in a similar way you say make a link note and for this it takes in the field that
you want to use so let's make a link node pointing upwards and this takes all links leaving the current nodes and points to them in that direction
as we can see there now we could add more notes say point to sapiens as well and it will reflect we could say point in the sibling
direction and that will be reflected so a link node takes all nodes leave all links leaving the current notes and points to them in the direction or using
the field that you give it all right the next type of alternative hierarchy is a folder note and as the name suggests we're going to need a folder
so for folder nodes we set it up by saying vcu folder nodes and a field name that we want to use and this will take all other nodes in
that folder and point to them using the the field name specified as we can see there we could use down for example
add another note refresh that and it will be reflected and it's also implied that uh from this notes perspective that the folder note is its parent and because they share the same parent
these other two must be that node's siblings so that relationship is also detected good tag folder and link notes
we can also show traverse notes so i'll use this as the example so a traversal doesn't require a folder structure
a traverse node can be thought of as the logical uh conclusion of the link nodes i'll show what that means now so we're going to create um some notes like so
and the traverse note is going to point to one and two so these two notes are leaving the traverse node that is going to be soon
if we go to node 1 and make it point to 1.1 go to 2 make it point to 2.1 we've got this um like tree structure going from the
traverse node going to one which has this node leaving it and we can leverage that by calling this a traverse node make it point downwards and if we refresh that we can see it
detects these two just like a link node does but it also detects now the links leaving those notes so more formally it performs a depth first
traversal going down from the traverse node or whatever field you give it and it traverses that tree structure so we can see that 1.1
has one as its parent and that has traverse note as its parent we could extend that even further if we refresh that and so on we could
make it branch and yeah this will just keep working um a traverse note good um i'll show hierarchy notes i don't think
i'll show csv nodes there's a section on that in the readme but let's have a look at hierarchy notes so a hierarchy note is a way to define a lot of relationships in one
note um externally from the notes that you're creating that structure for so that's a lot to take in but we just use this list structure so i'm
going to say a is at the top underneath that is little a and little b so that's a basic hierarchy notes
and so we to make it work as a hierarchy note we need to go to alternative hierarchies hierarchy notes and point it to this note so it can be called whatever you want it
to be you just have to tell it which one and you can also use a comma separated list of multiple hierarchy notes so that's now set up the index has been refreshed and now if
we go to the note at the top of that hierarchy we can see that it's detected that these two are its children yeah and and so on um and so we could
extend that even further we could say like the child of small a is 8.1 um [Music]
refresh the index go to b and we can see going downwards is b point one going down from there is b one point one and all of its parents going up the parent tree are shown there
good so you'll see that the hierarchy note isn't part of that hierarchy this is done by default so that you can keep that structure externally
but if you wanted to include it you could simply go to the notes at the top of the hierarchy and say point upwards to hierarchy notes and then it will be part of the
hierarchy now yeah good so you can do quite a lot with that there's also the hierarchy node adjuster
which lets you do quite a few things you can jump to a specific section of your hierarchy note if it gets quite long so currently that line is selected but if we click here we'll jump to that line
and another interesting feature is that from from anywhere in obsidian you can do this if i run this command add a parent to say
8.1 so shift up that doesn't seem to be working okay there's a bug there i'll fix that yeah okay but yeah that's not the most common feature so those are hierarchy notes um it's a
nice way to keep that structure externally from the rest of the notes that are in that hierarchy i won't show csv notes but that's a way to basically create a hierarchy node using
a csv file so you can do quite a lot with that let's take a look at some of the other views so i've shown these three views the matrix the trail and the stats view there's also a downwards view this is basically the
opposite of the trail view if we go to a note with a lot of children and open the down view we can see all of its children as follows so um in this bad example it's just showing
exactly the same content but if we then jump to a we can see that a's children are a and b and the children of those notes are like so so also work nicely with the traverse
note um this is showing what the what the traverse node is really doing all in one view right which another feature of the down view is that you can freeze it on a
particular notes so now it's frozen on traverse notes and so if we jump to other notes the down view doesn't change until you unfreeze it and then it will
snap to the current notes um another view is the duck view named as such because these are the nodes that don't have breadcrumbs they're the notes that are looking for
breadcrumbs uh currently there's only these two notes but it can get quite long so there's a way to filter this using a regular expression or just a a literal string
you can toggle this on so that the result has to include the query that you're looking for or that it must exclude the query that you're looking for
so none of these include z and so both of them show because none of them have z in them yeah that's a nice way to see which of your notes don't have any breadcrumbs
good the last few is the visualization view you can open that by clicking this little tv icon as you can see uh from that notice this is still quite experimental not all of
these features work very well but yeah so there's a few ways to then visualize the structure created with your breadcrumbs the best working way is the force directed graph
this is like obsidian's graph view you can click and drag the nodes around you can jump to a particular note by clicking on it the current note is highlighted
yeah you can do quite a few things change the color um yeah and there's a lot to play with here again not all of them are working because visualization is difficult the arc diagram works quite nicely
you can choose a particular relation for it to show so these all of the sibling relationships in the vault yeah quite a lot to play around with there good
so those are the main features i'm going to show a few more miscellaneous things that you can do with breadcrumbs the first thing is that you can run this command write breadcrumbs to file
so if you've got this is a bad example yeah so let's use it on this note so if you've got a note with real relationships that's going to imply the reverse
relationship on a different note so nowhere in this vault is there a breadcrumb field saying point from me to the mum notes it's just
implied because of this relationship and so we can use the right breadcrumbs to current file command to fill in that relationship as the notice says you have to have
the meta edit plugin enabled for this to work if you don't want to install metaedit you can also change a setting which i'll show you now but that will restrict you to only using
inline fields as opposed to metadata yeah and so it's filled in that field for us and so if we refresh that now both of these relationships are real you can see that it writes it using a
particular syntax both of them work but it is better to put it in strings oh in quotes yeah um let's run in here so going to breadcrumbs settings right
breadcrumbs to file you can uh set it so that it only picks uh or writes particular fields of your choice to the current file you can choose exactly which ones are written
which of the implied relationships are written you can also enable dataview inline fields as opposed to yaml fields so this node has two implied relations
if we write breadcrumbs current file you can see that both of those are then added as real relationships just making those merging those implied relationships into real ones
good so that's the right breadcrumbs file command you can also use the create index command traversal notes is a good example so we
know that the index or that the full downwards tree looks like this from the down view and we can run the create index or
local index or copy a local index to the clipboard this says from the current nodes take all of the children their children their children and keep going and copy that to the clipboard and we
get the same structure copied over to the clipboard and so it's almost creating a hierarchy note for us you can also copy a global index this
takes all of the local indexes from every nodes and just smushes them together so we can see like the tag node has no children for example um yeah
and the hierarchy note has the following children yeah a few things that you can do with that we can use this jump to
a direction command so jump to the first of each of these directions it's nice to bind those to the arrow keys so if you're if you're on a particular note with an
up with a parent you can say jump to the first up and it will then jump to that node's parent and you can do that for each of them so we can say jump to the first sibling
okay i don't think i've implemented it for siblings okay so you can jump to the first up from here jump to the first down from here and just very quickly jump around your notes
um one thing i haven't shown is the next and previous relationships so we can uh make a note for the year 20 20 21 for example and say that the next
year is 2022. we refresh that we see that the next note is there and this also shows up in the trail view so now we can quickly jump between the previous and next
notes we can go to we can say that the previous year is 2020. and that will be reflected there and just another way to like very quickly jump around your notes so we can
say jump to the next do so next yeah so if you bind these to the arrow keys it's a very quick way to move around good and the last thing that i'll show is
a very new feature called threading so we can say in 2022 so if you're on a particular note and you want to create a new note
um creates a new next from the current node for example we could say create a new next and it will automatically be named we can rename that to say 2023 uh
yeah and so it will automatically fill in that the previous nodes is the one we just came from and in that previous node we'll fill in that the next nodes is the new one that we just made
so this threading feature we can say create a new up from the current notes we can say like um two thousands yeah
just this entire millennium millennium yes and so um [Music] yeah that'll create a parent for the note so this is just another way to like quickly create these links between your notes
good um i think i'm going to finish there there is a lot to play around with lots that you can customize so many different [Music] options for each of the features that
i've just shown yeah so have a play around with it um and please do let me know if you find any bugs or struggle to get started i'm always happy to answer questions on the discord or
uh yeah on the github repo cool thanks a lot for listening i hope this was really helpful
End of transcript