Repolode
sdorra

sdorra/content-collections

Инструмент на TypeScript, который превращает локальные файлы Markdown, MDX, JSON и YAML в типобезопасные коллекции данных для веб-приложений.

Звёзды
1,203
Форки
53
Открытые issues
54
Последний коммит
18 часов назад

Что это?

Content Collections загружает файлы из каталога и преобразует их в типизированные коллекции данных, которые приложение может импортировать напрямую. Вместо того чтобы писать код для загрузки и разбора файлов с контентом, вы описываете коллекции в конфигурационном файле и задаёте схему. Контент разбирается и проверяется во время сборки.

Схема проверяет каждую запись, поэтому ошибки и отсутствующие поля обнаруживаются во время сборки. Записи можно преобразовывать до передачи в приложение — например, рендерить Markdown, объединять коллекции или загружать данные с сервера. Во время разработки изменения контента автоматически обновляют коллекции: перезапускать сервер или обновлять страницу в браузере не нужно.

Для Next.js, Remix (Vite), SvelteKit, Solid Start, Qwik и Vite доступны адаптеры, а для остальных фреймворков есть CLI.

Ключевые возможности

  • 01Позволяет описывать типизированные коллекции и задавать для них схему в конфигурационном файле.
  • 02Проверяет контент во время сборки, чтобы ошибки обнаруживались заранее.
  • 03Автоматически обновляет коллекции при изменении контента во время разработки.
  • 04Позволяет преобразовывать записи перед передачей в приложение.
  • 05Предоставляет адаптеры для нескольких фреймворков и CLI для остальных.

Сценарии использования

  • Создание блога или сайта с документацией на основе файлов Markdown или MDX в проекте на Next.js или SvelteKit.
  • Загрузка структурированных данных из YAML или JSON в виде типизированных объектов в приложении на Vite.
  • Проверка каталога с контентом, чтобы записи с ошибками приводили к сбою сборки.

Быстрый старт

  1. 1

    Выберите адаптер для фреймворка и следуйте руководству по установке по ссылкам в README

  2. 2

    Создайте файл content-collections.ts в корне проекта и определите в нём коллекции

  3. 3

    Добавьте Markdown-контент в каталог коллекции, а затем импортируйте сгенерированную коллекцию в приложение

В подборках

Темы

Частые вопросы

Что такое content-collections?
Инструмент на TypeScript, который превращает локальные файлы Markdown, MDX, JSON и YAML в типобезопасные коллекции данных для веб-приложений. Content Collections загружает файлы из каталога и преобразует их в типизированные коллекции данных, которые приложение может импортировать напрямую. Вместо того чтобы писать код для загрузки и разбора файлов с контентом, вы описываете коллекции в конфигурационном файле и задаёте схему. Контент разбирается и проверяется во время сборки.
content-collections можно использовать бесплатно? Какая у него лицензия?
content-collections распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
content-collections всё ещё поддерживается?
Активно поддерживается. Последний коммит в content-collections — 6 нояб. 2026 г..
Для чего можно использовать content-collections?
Создание блога или сайта с документацией на основе файлов Markdown или MDX в проекте на Next.js или SvelteKit. Загрузка структурированных данных из YAML или JSON в виде типизированных объектов в приложении на Vite. Проверка каталога с контентом, чтобы записи с ошибками приводили к сбою сборки.
Как установить content-collections?
Выберите адаптер для фреймворка и следуйте руководству по установке по ссылкам в README Создайте файл content-collections.ts в корне проекта и определите в нём коллекции Добавьте Markdown-контент в каталог коллекции, а затем импортируйте сгенерированную коллекцию в приложение
Где скачать content-collections?
Исходный код и инструкции по установке — на GitHub: https://github.com/sdorra/content-collections

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

CMS с открытым исходным кодом для редактирования контента и медиафайлов прямо в репозитории GitHub; подходит для статических сайтов на Jekyll, Hugo, Next.js, Astro и других инструментах.

4,2 тыс.+32 за неделю585TypeScriptMITОбновлён 22 дня назад