Справочник коллекций
Модель запросов коллекций, группировка, сортировка и доступ в шаблонах.
Коллекции — это декларативные запросы поверх данных resolve-индекса.
Контексты выполнения
- В runtime (
serve/build): коллекции вычисляются для страницы и доступны в.Collections. - На этапе index: коллекции с
materialize: trueзаписываются в JSON-артефакты.
Виды коллекций
filter
Берет все страницы и применяет where/sort/limit/group.
forward
Идет по именованной связи от одной страницы к целям.
Основные ключи:
linkfrom_slug
from_slug может содержать {{ page.slug }} (runtime-контекст).
backrefs
Находит страницы, которые ссылаются на цель по именованной связи.
Основные ключи:
linkto_slug
to_slug может содержать {{ page.slug }} (runtime-контекст).
Фильтрация
Базовые where-клаузы в where.all:
type_in: ["article", "page"]fm_eq: { key: "draft", value: false }
Сортировка и группировка
Сортировка по:
title,slug,updated_at,created_atfm.<field>
Группировка по:
typefm.<field>
При group_by.multi: true элементы с массивом в FM могут попасть в несколько групп.
Ограничения materialize
Если включены соответствующие validation-проверки, materialized-коллекции обязаны иметь:
limitgroup_by.item_limit(если используется grouping)
Также в materialized-режиме from_slug/to_slug не должны использовать {{ page.slug }}.