# Циклы, условия и функции

Все циклы объявляются в файлах `hbs` через синтаксис - \{{ #цикл/условие \}}

### #foreach

{% code title="foreach" %}
```html
{{#foreach posts}}
    {{ title }}
{{/foreach}}
```
{% endcode %}

Количество выводимых постов настраивается в параметре `"config"` файла `package.json`

### #if

```html
{{#if meta_description}}
   {{meta_description}}
{{else}}
   {{excerpt words="40"}}...
{{/if}}
```

### #get

&#x20;Получает набор для дальнейшего использования

Возможные наборы:

**posts** - посты

**tags** - тэги&#x20;

```html
{{#get "posts" limit="5" as |recent|}}
      <section>
         <h3>Recent Posts</h3>
         <ul>
            {{#foreach recent}}
            <li>
               <a href="{{url}}">{{title}}</a>
            </li>
            {{/foreach}}
         </ul>
      </section>
   {{/get}}
```

## Переменные для функций и вывода

**words** - ограничивает вывод содержимого (excerpt words="40")

**limit** - ограничивает вывод набора

## Вывод шаблонов

**\{{< имя\}}** - передает содержимое файла в шаблон "имя" (находится в самом шаблоне). Там содержимое шаблона выводим через \{{body\}}

**\{{> имя\}}** - вызываем шаблон "имя" находящийся в папке "Partials".&#x20;
