Reference [[Nodes]] are how you can edit [[Floating nodes]] or markdown files in your Obsidian vault. They function largely the same as normal [[Content nodes]], but instead of their content being stored in the node itself, it is stored in the floating node or vault file being referenced. ![[Pasted image 20240720222831.png]] Reference nodes are purple, and they must be a single line wrapped in double curly braces. Their reference must be a floating node name or markdown link to a file in your vault (if you're using Obsidian). Reference nodes allow you to control file extraction and editing. To overwrite YAML frontmatter (Obsidian properties) in the target file, append "^" to the file reference before the closing curly braces: {{[some file]^}}. Conversely, if your default setting is to edit properties, you can protect the YAML by using "!^" in the reference: {{[some file]!^}}. ## Editing properties If you'd like to edit a specific property of a file (YAML frontmatter), append ":" to the beginning of the reference node's incoming arrow. The label of the arrow will be interpreted as the name of the property you'd like to write to. This also works with list properties. ![[Pasted image 20240720215606.png]] ## Creating files To create a new file rather than editing an existing one, you can use a dynamic file reference with a "+" in front of it. The value of the dynamic reference will be the name of the new file. You can still pass in file content using another arrow. ![[Pasted image 20240720215307.png]] To specify a path where the new file should go, include an arrow with the label "/". That arrow's content will be interpreted as the file path. ![[Pasted image 20240720215502.png]] ## Extracting file info You can also extract specific information about a file using prefixes on the outgoing arrow labels. ![[Pasted image 20240720215936.png]] | Prefix | Result | | ------------- | ----------------------- | | [ | File name | | :propertyName | Value of named property | | : | All properties | | / | File path |