# PageCraft > Конструктор страниц: блоки с JSON Schema полей и шаблонами Liquid, макеты, > публикация страниц на витрину и REST API для ИИ-агентов. Вся документация одним файлом: https://page-craft.4partners.io/llms-full.txt ## Начало - [Что такое PageCraft](https://page-craft.4partners.io/docs/start/what-is-pagecraft.md): PageCraft — конструктор страниц, где страница собирается из блоков: Liquid-шаблон плюс схема полей, версии, живые данные и публикация на витрину. - [Быстрый старт: первый блок руками](https://page-craft.4partners.io/docs/start/quickstart.md): Пошаговый сценарий: создать блок, описать схему полей, написать Liquid-шаблон, добавить блок на страницу и опубликовать её. - [Словарь терминов](https://page-craft.4partners.io/docs/start/glossary.md): Что означают блок, ревизия, схема полей, биндинг, слот, макет, сайт и провайдер публикации в PageCraft — одно определение на термин. ## Блоки - [Анатомия блока](https://page-craft.4partners.io/docs/blocks/anatomy.md): Из чего состоит блок PageCraft: карточка блока, ревизия с шаблоном и схемой полей, типы блоков и путь значений из формы в HTML. - [Схема полей: полный справочник](https://page-craft.4partners.io/docs/blocks/schema.md): Все типы полей блока PageCraft, их параметры, вложенность, значения по умолчанию, правила валидации и тексты ошибок с примерами валидного и невалидного JSON. - [Пресеты](https://page-craft.4partners.io/docs/blocks/presets.md): Два способа заранее заготовить значения полей блока: примеры внутри схемы и личные пресеты пользователя — чем отличаются и когда какой использовать. - [Ревизии и версии](https://page-craft.4partners.io/docs/blocks/revisions.md): Как PageCraft версионирует блоки: когда правка создаёт новую ревизию, чем major отличается от minor и почему страницы не меняются сами. - [Устаревание и апгрейды](https://page-craft.4partners.io/docs/blocks/deprecation.md): Что значит «устаревший блок», как обновить блоки на странице до свежей версии и что делать, когда апгрейд заблокирован ломающим изменением. ## Шаблоны - [Liquid: основы](https://page-craft.4partners.io/docs/templates/liquid-basics.md): Синтаксис Liquid в шаблоне блока PageCraft: вывод значений, условия, циклы, фильтры, управление пробелами и поведение при ошибке шаблона. - [Что доступно в контексте](https://page-craft.4partners.io/docs/templates/context.md): Полный перечень переменных Liquid в PageCraft: props, content и data в шаблоне блока, page, settings и site в макете, переменные сайта через @имя. - [Различия сервера и браузера](https://page-craft.4partners.io/docs/templates/server-vs-browser.md): Предпросмотр блока считает Liquid в браузере, публикация — на сервере: где два движка расходятся и какие фильтры, теги и markdown работают только в редакторе. - [Markdown в блоках](https://page-craft.4partners.io/docs/templates/markdown.md): Markdown-блок PageCraft: как текст из редактора попадает в шаблон как готовый HTML, какие теги нужно стилизовать и какой синтаксис расходится между предпросмотром и витриной. ## Данные - [Плейсхолдеры](https://page-craft.4partners.io/docs/data/placeholders.md): Как значения полей блока попадают в шаблон: props, content, data и переменные сайта, дефолты, валидация и готовый JSON Schema контракт. - [Биндинги и слоты](https://page-craft.4partners.io/docs/data/bindings.md): Как блок объявляет потребность в живых данных витрины и как в слот подставляется конкретный источник: bindingSlots, bindings и скоуп data в Liquid. - [Реестр источников](https://page-craft.4partners.io/docs/data/providers.md): Какие данные витрины доступны блокам: типы результата и источники, их схемы и заглушки, ссылки $ref и $stub, эндпоинты реестра. - [SSR-блоки](https://page-craft.4partners.io/docs/data/ssr-blocks.md): Блок с bindingSlots рендерится не в PageCraft, а на витрине: что уезжает при публикации, как обновлять блок по событиям и чем SSR отличается от обычного блока. ## Макеты - [Что такое макет](https://page-craft.4partners.io/docs/layouts/what-is-layout.md): Макет в PageCraft: документ вида «Макет», собранный из блоков вокруг лэйаута — обёртки с шапкой, подвалом и точкой вставки страницы. ## Страницы - [Сборка страницы из блоков](https://page-craft.4partners.io/docs/pages/composition.md): Как страница собирается из блоков: порядок, значения полей, закреплённые версии и во что всё это превращается при публикации. - [Папки](https://page-craft.4partners.io/docs/pages/folders.md): Папки группируют страницы внутри сайта: вложенность, перемещение страниц и рекурсивное удаление. - [SEO-поля](https://page-craft.4partners.io/docs/pages/seo.md): Адрес страницы и мета-теги: slug и его уникальность, meta_title, meta_description, meta_keywords, meta_robots и что из этого уезжает на витрину. - [Публикация и обновление](https://page-craft.4partners.io/docs/pages/publishing.md): Как страница уезжает на витрину: что нужно настроить заранее, чем publish отличается от publish-update и как узнать статус публикации. - [Текстовый вариант страницы](https://page-craft.4partners.io/docs/pages/markdown.md): Второе, текстовое представление содержимого статьи в markdown: зачем оно языковым моделям, как его записать через API и что с ним делает витрина. ## Сайт - [Переменные сайта](https://page-craft.4partners.io/docs/site/variables.md): Как задать переменные сайта и подставлять их в блоки и макеты через синтаксис @имя — и почему символ @ в шаблонах требует осторожности. - [Медиа и S3](https://page-craft.4partners.io/docs/site/media-s3.md): Как подключить к сайту своё S3-совместимое хранилище, загружать в него картинки и файлы из интерфейса и из API, и как это делает ИИ-агент. - [Коллекции витрины](https://page-craft.4partners.io/docs/site/collections.md): Темы, рубрики и вариации магазина: справочники, которые PageCraft забирает из 4CMS, чтобы показать блок в реальных цветах и опубликовать статью в нужный раздел. - [Совместный доступ](https://page-craft.4partners.io/docs/site/sharing.md): Как открыть свой сайт другому аккаунту PageCraft: что может соредактор, как пригласить его по GitHub-логину, чем рискует владелец и что происходит с сайтом после отзыва доступа. - [Блоки при совместном доступе](https://page-craft.4partners.io/docs/site/shared-blocks.md): Чьи блоки видит соредактор сайта, кто какие блоки вправе править, почему блок одного клиента нельзя поставить на сайт другого и как владелец забирает чужой блок себе. ## API и агенты - [API-ключи](https://page-craft.4partners.io/docs/api/api-keys.md): Как создать API-ключ PageCraft, чем он отличается от сессии интерфейса и как передавать его в запросах. - [REST API V1](https://page-craft.4partners.io/docs/api/rest-v1.md): Публичное REST API PageCraft: базовый URL, авторизация ключом, пагинация, группы эндпоинтов и главный сценарий — от выбора сайта до опубликованной страницы. - [Скиллы: установка и список](https://page-craft.4partners.io/docs/api/skills.md): Как поставить скиллы PageCraft в ИИ-агента одной командой и что умеет каждый из них — список собирается из реестра при сборке документации. - [Playbook: фабрика страниц](https://page-craft.4partners.io/docs/api/page-factory.md): Пошаговый рецепт сборки страницы через REST API V1 — от выбора сайта и контракта блоков до публикации на витрину и разбора ошибок валидации. - [Коды ошибок](https://page-craft.4partners.io/docs/api/errors.md): Что означает каждый код ответа REST API V1, как устроено тело ошибки и поле errors[], и что делать с 401, 403, 409, 422 и 502. ## Машинные ресурсы - Реестр скиллов: https://page-craft.4partners.io/.well-known/agent-skills/index.json - OpenAPI V1 (JSON): https://page-craft.4partners.io/api/v1/docs.json - Swagger UI V1: https://page-craft.4partners.io/api/v1/docs - JSON Schema блока: https://page-craft.4partners.io/block-schema.json Версии архивов скиллов не хардкодятся: актуальные ссылки всегда в index.json. ## Аутентификация API-ключ формата `pb_<64 hex>` в заголовке `Authorization: Bearer pb_...`. Ключ создаётся в интерфейсе PageCraft.