The format for linking to another list is:
@ ( ) path/to/list_name
{
Header for this link (optional)
}
The starting @ character tells the parser that this is a markup tag line of type list link. This must be followed by ( )
, which may or may not contain an optional link limiter (more on this below). The line ends with a relative path in relation to the user home folder where all lists are stored.
The text of the linked list can be added into the parent list in the following ways:
1. Seamless linking will blend into the parent's text in the final generated output without indentation, where it will look as if it were all written together as a whole. To do this, simply have the opening and closing brackets without a header line between them.
Template syntax |
contents of equipment/tools list |
⇒ Generated Output |
|
|
|
2. If the optional {
header line }
is provided, then the linked list content will be included as a section of lines indented by 2 spaces. This header line is only included if generated output is produced by the linked list. If the linked result is empty (e.g. due to user prompts not selecting any output), then the header line will not appear.
|
|
|
|
|
|
3. An optional header character ^
in the header line area will create an auto-generated header based on the list path.
|
|
|
If provided, the limiting type in parentheses can restrict how often the link happens when generating the final output. If no limit is provided, then the link may be included an unlimited number of times in a session. If one of the following limits is provided, then the link might not be included as described.
@ (global) list
Linked only once when generating final output. In this case, the link will be ignored if it has already been encountered in the current list or any of the previous lists.@ (local) list
Linked only once from a particular list. If a reference of this type is encountered, then the reference will be ignored if it has already been link previously in the current list. If it was only linked from another list, then it will be linked from this list.Using a link limit can prevent redundancy, which can happen because lists often include a single resource that is included multiple times due to various linked lists or different possible conditional paths. Using a global limit on a reference for a camera bag, for example, will make sure that the bag is only included once in the final generated checklist.
Note that future links can not be affected. If a link is encountered later without a limit, then it will be included even if previous links were locally or globally restricted.
When the parser encounters a list link, it “jumps” into the list. That list may itself contain a link to yet another list, which contains another link, and so on. This link-within-link-within-link pattern is allowed up to a limit of being 50 links deep, at which point an error message will be shown when trying to generate the output checklist. Otherwise, there is no limit to the total number links encountered while parsing.