Об этом проекте

Gatsby — бесплатный и open-source веб-фреймворк на основе React, распространяемый по лицензии MIT и публикуемый в npm как пакет `gatsby`. Согласно его README, он сочетает контроль и масштабируемость динамически рендерящихся сайтов со скоростью генерации статических сайтов, помогая разработчикам создавать высокопроизводительные сайты и приложения с богатой контентной частью. **Слой данных** Gatsby может получать контент из любых источников: Markdown-файлов, headless-CMS (например, Contentful или WordPress), REST и GraphQL API. Source-плагины загружают данные, после чего разработчик работает через единый GraphQL-интерфейс независимо от бэкенда. **Варианты рендеринга** Проект документирует три подхода к рендерингу, которые можно выбирать для каждой страницы отдельно: Static Site Generation (SSG), Deferred Static Generation (DSG) и Server-Side Rendering (SSR). README указывает, что такая детализация позволяет балансировать производительность и удобство разработки на уровне каждой страницы, а не глобально. **Выход за рамки статики** Сайты на Gatsby описываются как полноценные React-приложения, поэтому один и тот же фреймворк подходит для блогов, интернет-магазинов и пользовательских дашбордов. Поскольку вывод является статическим, сайты можно размещать на CDN без выделенного сервера; в README отмечается, что многие сайты можно бесплатно хостить на Netlify и аналогичных сервисах. **Производительность** Согласно README, Gatsby автоматически выполняет кододеление (code splitting), оптимизацию изображений, инлайнинг критических стилей, ленивую загрузку и предварительную выгрузку ресурсов, так что настройка производительности во многом встроена, а не требует ручного труда. **Быстрый старт** Документированы два быстрых пути. Онлайн: кнопка «Deploy to Netlify» создаёт работающий сайт и связанный репозиторий, который автоматически пересобирается при каждом push. Локально: выполнить `npm init gatsby` для создания проекта, затем `cd my-gatsby-site/` и `npm run develop` для запуска dev-сервера по адресу `http://localhost:8000` с живым обновлением при редактировании файлов типа `src/pages/index.js`. Из верхней части README ведут ссылки на отдельные страницы: quickstart, tutorial, plugin, starter и showcase. **Документация и сообщество** README ссылается на подробное руководство, не требующее предыдущего опыта, а также на разделы документации с how-to статьями, справочным материалом и концептуальными статьями. Ссылки содержат release notes и документацию по поддержке каждой версии, а миграционные руководства охватывают переходы с v2 на v3, с v3 на v4 и с v4 на v5. Приведены кодекс поведения и руководство для участников. Репозиторий организован как монорепозиторий под управлением Lerna, содержащий несколько пакетов, которые публикуются в npm отдельно. Вопросы, обсуждения и pull requests входят в рабочие процессы сообщества.