Learn how to connect any node to any node from anywhere using references, and how you might use them.
Video transcript in subtitles
In Tana, all of your text is in one large outline of bullet points indented underneath other bullet points. We'll call each of these points "nodes."
All of your nodes will track back either to your library, calendar, or home node.
When you write text in Tana, you can link to any node in your overall outline, turning your outline into a graph.
Referencing nodes can serve multiple purposes:
Easily get access to a node and its content where its relevant
Make sure that the current thing you are writing can be found again through the thing you are linking to
Sharing a common piece of text in multiple places (so that when you update “ButtonController” to “ButtonControls”, it updates everywhere you’ve referenced it).
Methods of creating references
If you can see the node that you want to reference, you can put your cursor on that node, without selecting any text, and pressing Cmd-C (on Mac, Ctrl-C on Windows) to put the node on the clipboard. Put the cursor where you want to insert a reference, and use Cmd-V (Ctrl-V) to paste a reference to that node.
Otherwise, you can press @ when your cursor is where you want to insert the reference.
Start typing, and you will see a selection of autocompleted items that match your text. You will also see an indication of the “path” of these nodes, including which space they come from (if you work with multiple workspaces), to help you select the correct one.
You can also create new nodes and link to them in the same action.
If you can’t find the node that you’re looking for, or if you want to create a brand new node, you can hit Cmd-Enter, and a new node will be created in the Library of your current space, and a reference to that node will be inserted.
Sometimes, it can be a good idea to start a new node by creating a reference to a node in the library using the @ instead of just typing in the name, because it can prevent duplicates.
Notice that you can expand the reference to see and edit all of the contents of the original node. It's kind of like it lives in multiple places.
Let’s say I want to add a new #exercise to my workspace. If I just typed in "cartwheels #exercise" into a node, I might end up with two cartwheels, given that I already have one. If I start with @cartwheel, I will immediately see if there’s already a node I can reference, and if not, I can easily create a new one in the same action.
If you are at the beginning of an empty node when you insert a reference, you will get a referenced node.
This node is a kind of mirror of the original node, and when you expand it, you will see and can edit the contents of the original node.
However, the node has an interesting elastic state which you are in immediately after inserting the node, and which you can always get back to by moving the cursor one step left or right of the node title.
In this state where the node is kind of highlighted, you can either start typing, which will convert the reference to an inline reference, with properties as explained above, or you can do cmd/ctrl-down, which will also convert the node to an inline reference, and let you add locally relevant comments on the node.
If you insert a reference in the middle of the text, it is called an inline reference.
You can shift-click to expand the entire node below, or select it with your cursor and expand (cmd/ctrl+down), and even edit all of its contents.
and if you move your cursor to select the inline ref, you can delete it, copy it, or run command line commands like “Add supertag” directly on the reference.
Clicking on it will bring you to the original node, and also show you all the References of that node.