Decap CMS и Astro
Decap CMS (ранее известная как Netlify CMS) — это система управления контентом с открытым исходным кодом, основанная на Git.
Decap позволяет в полной мере использовать все возможности Astro, включая оптимизацию изображений и коллекции контента.
Decap добавляет в ваш проект маршрут (обычно /admin
), который загружает приложение React, позволяющее авторизованным пользователям управлять контентом прямо с развернутого сайта. Decap будет фиксировать изменения непосредственно в исходном репозитории вашего проекта Astro.
Установка DecapCMS
Заголовок раздела Установка DecapCMSСуществует два варианта добавления Decap в Astro:
- Установить Decap через менеджер пакетов с помощью следующей команды:
- Импортировать пакет в тег
<script>
на вашей странице<body>
Конфигурация
Заголовок раздела Конфигурация-
Создайте статическую папку admin по адресу
public/admin/
. -
Добавьте
config.yml
вpublic/admin/
:Директорияpublic
Директорияadmin
- config.yml
-
Чтобы добавить поддержку коллекций контента, настройте каждую схему в
config.yml
. Следующий пример настраивает коллекциюblog
, определяяlabel
для свойства frontmatter каждой записи: -
Добавьте маршрут
admin
для вашего приложения React. Этот файл может находиться либо вpublic/admin/index.html
вместе с вашимconfig.yml
, либо, если вы предпочитаете использовать маршрут Astro, вsrc/pages/admin.astro
.Директорияpublic
Директорияadmin
- config.yml
- index.html
-
Чтобы разрешить загрузку медиафайлов в определенную папку через редактор Decap, добавьте соответствующий путь:
Полные инструкции и опции см. в документации по конфигурации Decap CMS.
Использование
Заголовок раздела ИспользованиеПерейдите по адресу yoursite.com/admin/
для использования редактора Decap CMS.
Аутентификация
Заголовок раздела АутентификацияDecap CMS с Netlify Identity
Заголовок раздела Decap CMS с Netlify IdentityDecap CMS был изначально разработан компанией Netlify и имеет первоклассную поддержку Netlify Identity.
При развертывании на Netlify настройте Identity для вашего проекта через панель управления Netlify и включите Netlify Identity Widget в маршрут admin
вашего проекта. Опционально включите виджет Identity на домашней странице вашего сайта, если вы планируете приглашать новых пользователей по электронной почте.
Decap CMS с внешними OAuth-клиентами
Заголовок раздела Decap CMS с внешними OAuth-клиентамиПри развертывании на хостинг-провайдерах, отличных от Netlify, вам необходимо создать собственные маршруты OAuth.
В Astro это можно сделать с помощью динамически создаваемых маршрутов в вашем проекте, настроенных с включенным server
или hybrid
выводом.
Посмотрите Документацию Decap по OAuth для списка совместимых OAuth-клиентов, поддерживаемых сообществом.
Ресурсы сообщества
Заголовок раздела Ресурсы сообщества-
Шаблон Netlify Identity: astro-decap-ssg-netlify
-
Шаблон с маршрутами OAuth с отложенным рендерингом с помощью Astro: astro-decap-starter-ssr
-
Запись в блоге: Авторский контент вашего сайта Astro с помощью CMS на базе Git от Aftab Alam
-
Учебное пособие на YouTube: Создание пользовательского блога с Astro & NetlifyCMS за МИНУТЫ! от Кумаил Пирзада
Сайты в производстве
Заголовок раздела Сайты в производствеСледующие сайты используют Astro + Decap CMS в производстве:
- yunielacosta.com от Yuniel Acosta — исходный код на GitHub (Netlify CMS)
- portfolioris.nl от Joris Hulsbosch — исходный код на GitHub