Input and Output [[Nodes]] are special kinds of [[Content nodes]] which define the inputs and outputs of a cannoli. They used when baking cannolis into functions, and referencing them as [[Sub-cannolis]] in other cannolis.
Cannolis can have any number of input and output nodes.
![[Pasted image 20240720224743.png]]
A node is an input node when it is named and it has no incoming arrows. A node is an output node when it is named and it has no outgoing arrows.
To name a node, wrap its first line in square braces. Unlike [[Floating nodes]], these names must be valid variable names. Valid variable names must start with a letter, underscore, or dollar sign, and can only contain letters, numbers, underscores, or dollar signs thereafter. They cannot be reserved keywords (like `var`, `let`, `const`, `function`, `if`, `else`, etc.), or contain spaces or other special characters.