<@ macro typeList(types) -@> <@ for typeName in types @><$ typeName | escape $><@ endfor @> <@- endmacro -@> <@ macro paramTable(params, isDirective) @> <@ for param in params @> <@ endfor @>
<@ if isDirective @>Attr<@ else @>Param<@ endif @> Type Details
<$ param.name $> <@ if param.alias @>| <$ param.alias $><@ endif @> <@ if param.type.optional @>
(optional)
<@ endif @>
<$ param.type.name $> <$ param.description | marked $> <@ if param.default @>

(default: <$ param.default $>)

<@ endif @>
<@ endmacro @> <@- macro directiveParam(name, type, join, sep) @> <@- if type.optional @>[<@ endif -@> <$ name | dashCase $><$ join $><$ type.description $><$ sep $> <@- if type.optional @>]<@ endif -@> <@ endmacro -@> <@- macro functionSyntax(fn) @> <@- set sep = joiner(', ') -@> `<$ fn.name $>(<@- for param in fn.params @><$ sep() $> <@- if param.type.optional @>[<@ endif -@> <$ param.name $> <@- if param.type.optional @>]<@ endif -@> <@ endfor @>)` <@ endmacro -@> <@- macro typeInfo(fn) -@>
<$ typeList(fn.typeList) $> <$ fn.description $>
<@- endmacro -@>