Contents
$!setvar('section_counter', '0')!$
$!setvar('section_counter', 'section_counter + 1')!$ $!setvar('subsection_counter', '0')!$ $!html.translateMarkup(text[len('type=section:'):], section=section_counter, node=tree.find(path))!$ $!setvar('subsection_counter', 'subsection_counter + 1')!$ $!html.translateMarkup(text[len('type=subsection:'):], section=section_counter, subsection=subsection_counter, node=tree.find(path))!$
$!setvar('table_open', 'False')!$ $!setvar('section_counter', '0')!$ #! Open/close table if necessary.
$!setvar('table_open', 'False')!$ #! Default case

$!html.translateMarkup(text[len('type=text:'):], node=tree.find(path))!$

Note: $!html.translateMarkup(text[len('type=note:'):], node=tree.find(path))!$


@!html.imageTitle(text)!@
$!setvar('section_counter', 'section_counter + 1')!$ $!setvar('subsection_counter', '0')!$

$!html.translateMarkup(text[len('type=section:'):], section=section_counter, node=tree.find(path))!$

$!setvar('subsection_counter', 'subsection_counter + 1')!$ @!subsection_counter!@

$!html.translateMarkup(text[len('type=subsection:'):], section=section_counter, subsection=subsection_counter, node=tree.find(path))!$

$!setvar('table_open', 'True')!$ $!html.translateTableHeader(text[len('type=tableheader:'):])!$ $!setvar('table_open', 'True')!$ $!html.translateTableRow(text[len('type=table:'):])!$

$!html.translateMarkup(text[len('type=contents:'):], node=tree.find(path))!$

$!table_of_contents(path=path)!$ $!html._formatCode(text[len('type=code:'):])!$
@!text[len('type=console:'):]!@
@!text[len('type=output:'):]!@
$!html.includeFile(text[len('type=file:'):], node=tree.find(path))!$ $!html.includeSnippet(text[len('type=snippet:'):], node=tree.find(path))!$
@!path!@ @!tree.find(path)!@
@!text!@
#! We need to close the table if any is open.

@!tree.find(['globals', 'sections'] + [path[-1]]).text()!@

#! if not exists(...
$!text_field(path=path)!$
Remark: $!html.translateMarkup(text, node=tree.find(path))!$
Values: $!html.translateMarkup(text, node=tree.find(path))!$
Type: $!html.translateMarkup(text, node=tree.find(path))!$
Default: $!html.translateMarkup(text, node=tree.find(path))!$
#! if tree.find(path)
@!'\n'.join(tree.find([cat, subcat, key]).texts)!@

@!tree.find(['globals', 'sections', key]).text()!@

$!html.translateMarkup(', '.join(tree.find([cat, subcat, key]).texts), node=tree.find([cat, subcat, key]))!$