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.