{%- if page.recommendations != false -%} {%- comment -%} Выясняем, откуда брать {%- endcomment -%} {%- if page.recommendations -%} {%- assign random_source_id = page.recommendations -%} {%- else -%} {%- if page.category_id -%} {%- assign random_category_id = page.category_id -%} {%- elsif page.categories -%} {%- assign random_category_id = page.categories | first -%} {%- else -%} {%- assign random_category_id = nil -%} {%- assign random_source_id = 'all' -%} {%- endif -%} {%- if random_category_id -%} {%- assign random_category_page = site.streams | where: 'category_id', random_category_id | first -%} {%- if random_category_page.recommendations == false -%} {%- assign random_source_id = false -%} {%- elsif random_category_page.recommendations -%} {%- assign random_source_id = random_category_page.recommendations -%} {%- else -%} {%- assign random_source_id = random_category_id -%} {%- endif -%} {%- else -%} {%- assign random_source_id = 'all' -%} {%- endif -%} {%- endif -%} {%- comment -%} Получаем список подходящих {%- endcomment -%} {%- if random_source_id -%} {%- if random_source_id == 'all' -%} {%- assign random_source = site.posts | where: 'recommend', true | where_exp: 'item', 'item.path != page.path' -%} {%- elsif random_source_id == 'best' -%} {%- comment -%} Сама категория подразумевает избранное {%- endcomment -%} {%- assign random_source = site.categories['best'] | where_exp: 'item', 'item.path != page.path' -%} {%- else -%} {%- assign random_source = site.categories[random_source_id] | where: 'recommend', true | where_exp: 'item', 'item.path != page.path' -%} {%- endif -%} {%- else -%} {%- assign random_source = nil -%} {%- endif -%} {%- comment -%} Получаем три случайных и формируем HTML {%- endcomment -%} {%- if random_source and random_source.size >= 3 -%} {%- assign randoms = random_source | sample: 3 -%} {%- endif -%} {%- endif -%}