Мы рады объявить Hygraph партнёром запуска Astro Content Layer — нового подхода к загрузке контента из внешних CMS в content collections. Hygraph — API-first CMS, который позволяет организовать сложный структурированный контент и строить высокопроизводительные контент-ориентированные приложения на любом фронтенде.
Content collections позволяют объединять контент разных типов в единый API. С Content Layer теперь можно подключать контент из внешних источников, например Hygraph CMS.
Using the Hygraph loader
Чтобы использовать новый загрузчик (в beta), сначала установите пакет @hygraph/hygraph-astro-loader:
npm install @hygraph/hygraph-astro-loaderВ панели Hygraph найдите endpoint API, скопируйте URL и передайте его как переменную окружения, например HYGRAPH_ENDPOINT.
Затем импортируйте и используйте загрузчик в файле конфигурации src/content/config.ts:
import { defineCollection, z } from 'astro:content';import { HygraphLoader } from '@hygraph/hygraph-astro-loader';
const pages = defineCollection({ loader: HygraphLoader({ endpoint: import.meta.env.HYGRAPH_ENDPOINT, operation: 'pages', fields: ["id", "title", "slug", { "body": ["text"] }], }),
schema: z.object({ id: z.string(), title: z.string({ required_error: 'Title is required' }).min(1, { message: 'Title is required to be at least 1 character' }), slug: z.string(), body: z.object({ text: z.string(), }), })})
export const collections = { pages }И всё — дальше можно запрашивать и использовать коллекции так же, как локальные. Подробнее — в документации Astro о content collections.
Также посмотрите вчерашний deep dive по Content Layer — как работают загрузчики и как создать свой. И GitHub-репозиторий загрузчика Hygraph для сообщений об ошибках и вклада.
