Plantillas de bigote: cómo generar un bloque solo una vez para listas no vacías

Si mi lista está vacía, quiero mostrar esto:

<code><div id="some-id">
</div>
</code>

Si mi lista no está vacía, quiero mostrar esto:

<code><div id="some-id">
  <ul>
    <li>Item 1</li>
    <li>Item 2</li>
    <li>etc</li>
  </ul>
</div>
</code>

Tenga en cuenta que la salida<ul> y</ul> etiquetascomo máximo una vez, y solo si la lista no está vacía.

El siguiente código está cerca de cómo lo haría en PHP, pero obviamente es incorrecto:

<code><div id="some-id">
{{#items}}
  <ul>
{{/items}}

{{#items}}
    <li>{{name}}</li>
{{/items}}

{{#items}}
  </ul>
{{/items}}
</div>
</code>

Siitems es una lista de 3 elementos, voy a obtener 3<ul>'s - obviamente no es lo que quiero.

Me doy cuenta de que podría establecer alguna otra clave como una bandera booleana (hasItems, quizás), pero esto se siente redundante.

¿Existe una forma más elegante de que pueda generar un bloque solo una vez para una lista que no esté vacía?

Respuestas a la pregunta(3)

Su respuesta a la pregunta