112 lines
4.1 KiB
HTML
112 lines
4.1 KiB
HTML
{% macro renderSyntax(container, prefix) -%}
|
|
{% for name in container.names %}
|
|
<code-example hideCopy="true" class="no-box api-heading no-auto-link{% if container.deprecated %} deprecated-api-item{% endif %}">ng {%if prefix %}{$ prefix $} {% endif %}<span class="cli-name">{$ name $}</span>
|
|
{%- for arg in container.positionalOptions %} <<var>{$ arg.name $}</var>>{% endfor %}
|
|
{%- if container.namedOptions.length %} [<var>options</var>]{% endif -%}
|
|
</code-example>
|
|
{% endfor %}
|
|
{% endmacro %}
|
|
|
|
{% macro renderArguments(arguments, level = 2) %}
|
|
{% if arguments.length %}
|
|
<h{$ level $} class="no-anchor">Arguments</h{$ level $}>
|
|
<table class="is-full-width list-table property-table">
|
|
<thead>
|
|
<tr>
|
|
<th width="15%">Argument</th>
|
|
<th width="40%">Description</th>
|
|
<th>Value Type</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
{% for option in arguments %}
|
|
<tr class="cli-option">
|
|
<td><code class="cli-option-syntax no-auto-link"><<var>{$ option.name $}</var>></code></td>
|
|
<td>
|
|
{$ option.description | marked $}
|
|
{% if option.subcommands.length -%}
|
|
<p>This option can take one of the following <a href="#{$ option.name $}-commands">sub-commands</a>:<p>
|
|
<ul>
|
|
{% for subcommand in option.subcommands %}
|
|
<li><code class="no-auto-link"><a class="code-anchor" href="#{$ subcommand.name $}-command">{$ subcommand.name $}</a></code></li>
|
|
{% endfor %}
|
|
</ul>
|
|
{%- endif %}
|
|
</td>
|
|
<td><code class="cli-option-syntax no-auto-link">{% if option.enum.length > 0 %}{$ renderValues(option.enum) $}{% else %}string{% endif %}</code></td>
|
|
</tr>
|
|
{% endfor %}
|
|
</tbody>
|
|
</table>
|
|
{% endif %}
|
|
{% endmacro %}
|
|
|
|
{% macro renderNamedOptions(options, level = 2) %}
|
|
{% if options.length %}
|
|
<h{$ level $} class="no-anchor">Options</h{$ level $}>
|
|
<table class="is-full-width list-table property-table">
|
|
<thead>
|
|
<tr>
|
|
<th width="15%">Option</th>
|
|
<th width="40%">Description</th>
|
|
<th>Value Type</th>
|
|
<th>Default Value</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
{% for option in options %}
|
|
<tr class="cli-option">
|
|
<td>
|
|
<code class="cli-option-syntax no-auto-link{% if option.deprecated %} deprecated-api-item{% endif %}">{$ renderOptionName(option.name) $}</code>
|
|
</td>
|
|
<td>
|
|
{% if option.deprecated %}
|
|
{% if option.deprecated === true %}
|
|
<p><strong>Deprecated</strong></p>
|
|
{% else %}
|
|
{$ ('**Deprecated:** ' + option.deprecated) | marked $}
|
|
{% endif %}
|
|
{% endif %}
|
|
{$ option.description | marked $}
|
|
{% if option.aliases.length %}<p><span class="cli-aliases">Aliases:</span> {% for alias in option.aliases %}{$ renderOptionName(alias) $}{% if not loop.last %}, {% endif %}{% endfor %}</p>{% endif %}
|
|
</td>
|
|
<td><code class="no-auto-link">{$ renderOptionValues(option.type, option.enum) $}</td>
|
|
<td>{% if option.default !== undefined %}<code class="no-auto-link">{$ option.default $}</code>{% endif %}</td>
|
|
</tr>
|
|
{% endfor %}
|
|
</tbody>
|
|
</table>
|
|
{% endif %}
|
|
{% endmacro %}
|
|
|
|
{%- macro renderOptionName(name) -%}
|
|
{% if name.length > 1 %}-{% endif %}-{$ name $}
|
|
{%- endmacro %}
|
|
|
|
{%- macro renderValues(values) -%}
|
|
{$ values.join('|') $}
|
|
{%- endmacro -%}
|
|
|
|
{%- macro renderOptionValues(type, values) -%}
|
|
{%- if values.length -%}
|
|
{$ renderValues(values) $}
|
|
{%- else -%}
|
|
{$ type $}
|
|
{%- endif -%}
|
|
{%- endmacro -%}
|
|
|
|
{%- macro renderSubcommands(container) -%}
|
|
{% for command in container.positionalOptions %}{% if command.subcommands.length %}
|
|
<h2><a id="{$ command.name $}-commands"></a>{$ command.name | title $} commands</h2>
|
|
{% for subcommand in command.subcommands %}
|
|
<h3><code class="no-auto-link"><a id="{$ subcommand.name $}-command"></a>{$ subcommand.name $}</code></h3>
|
|
{% for name in container.names %}
|
|
{$ renderSyntax(subcommand, name) $}
|
|
{% endfor %}
|
|
{$ subcommand.description | marked $}
|
|
{# for now we assume that commands do not have further sub-commands #}
|
|
{$ renderArguments(subcommand.positionalOptions, 4) $}
|
|
{$ renderNamedOptions(subcommand.namedOptions, 4) $}
|
|
{% endfor %}
|
|
{% endif %}{% endfor %}
|
|
{%- endmacro -%} |