title | description | type | stub | service | i18nReady |
---|---|---|---|---|---|
Decap CMS y Astro |
Añade contenido a tu proyecto Astro usando Decap como CMS |
cms |
true |
Decap CMS |
true |
import Grid from '/components/FluidGrid.astro'
import Card from '/components/ShowcaseCard.astro'
import { FileTree } from '@astrojs/starlight/components'
import PackageManagerTabs from '~/components/tabs/PackageManagerTabs.astro'
Decap CMS (anteriormente Netlify CMS) es un sistema de gestión de contenido de código abierto basado en Git.
Decap te permite aprovechar al máximo todas las funciones de Astro, incluida la optimización de imágenes y las colecciones de contenido.
Decap añade una ruta (normalmente /admin
) a tu proyecto que cargará una aplicación React para permitir a los usuarios autorizados administrar el contenido directamente desde el sitio web desplegado. Decap enviará los cambios directamente al repositorio fuente de su proyecto Astro.
Hay dos opciones para añadir Decap a Astro:
- Instala Decap a través de un administrador de paquetes con el siguiente comando:
- Importa el paquete a una etiqueta
<script>
dentro del<body>
de tu página.
<body>
<!-- Incluye el script que crea la página y alimenta Decap CMS -->
<script src="https://unpkg.com/decap-cms@^3.1.2/dist/decap-cms.js"></script>
</body>
-
Crea una carpeta de administración estática en
public/admin/
-
Agrega
config.yml
apublic/admin/
:- public
- admin
- config.yml
- admin
- public
-
Para agregar soporte para colecciones de contenido, configura cada esquema en
config.yml
. El siguiente ejemplo configura una colecciónblog
, definiendo unaetiqueta
para la propiedad frontmatter de cada entrada:collections: - name: "blog" # Usado en rutas, por ejemplo, /admin/collections/blog label: "Blog" # Usado en la interfaz de usuario folder: "src/content/blog" # La ruta a la carpeta donde se almacenan los documentos create: true # Permitir a los usuarios crear nuevos documentos en esta colección fields: # Los campos para cada documento, generalmente al principio - { label: "Layout", name: "layout", widget: "hidden", default: "blog" } - { label: "Title", name: "title", widget: "string" } - { label: "Publish Date", name: "date", widget: "datetime" } - { label: "Featured Image", name: "thumbnail", widget: "image" } - { label: "Rating (scale of 1-5)", name: "rating", widget: "number" } - { label: "Body", name: "body", widget: "markdown" }
-
Agregar la ruta
- public - admin -config.yml - index.html ```html title="/public/admin/index.html" {7, 11} <title>Administrador de contenidos</title> <script src="https://unpkg.com/decap-cms@^3.1.2/dist/decap-cms.js"></script> ```admin
para tu aplicación React. Este archivo puede serpublic/admin/index.html
junto conconfig.yml
o, si prefieres utilizar una ruta de Astro,src/pages/admin.astro
. -
Para habilitar la carga de medios a una carpeta específica a través del editor de Decap, agrega una ruta adecuada:
media_folder: "src/assets/images" # Ubicación donde se almacenarán los archivos en el repositorio public_folder: "src/assets/images" # El atributo src para los medios cargados
Consulta la documentación de configuración de Decap CMS para obtener instrucciones y opciones completas.
Navega hasta yoursite.com/admin/
para usar el editor de Decap CMS.
Decap CMS fue desarrollado originalmente por Netlify y tiene soporte de primera clase para Netlify Identity.
Cuando despliegues en netlify, configura la identidad para tu proyecto a través del panel de Netlify e incluye el Netlify Identity Widget en la ruta admin
de tu proyecto. Opcionalmente, incluye el widget de identidad en la página de inicio de tu sitio si planeas invitar a nuevos usuarios por correo electrónico.
Cuando despliegues en proveedores de hosting distintos de Netlify, debes crear tus propias rutas OAuth.
En Astro, esto se puede hacer con rutas renderizadas bajo demanda en tu proyecto configurado con la salida server
o hybrid
activada.
Consulta los Documentos OAuth de Decap para obtener una lista de clientes OAuth compatibles mantenidos por la comunidad.
-
Plantilla de identidad de Netlify: astro-decap-ssg-netlify
-
Representación bajo demanda de rutas Oauth con plantilla Astro: astro-decap-starter-ssr
-
Publicación de blog: [Crea el contenido de tu sitio Astro con CMS basados en Git] (https://aalam.vercel.app/blog/astro-and-git-cms-netlify) por Aftab Alam
-
Tutorial de Youtube: ¡Crea un blog personalizado con Astro y NetlifyCMS en MINUTOS! por Kumail Pirzada
Los siguientes sitios usan Astro + Decap CMS en producción:
- yunielacosta.com por Yuniel Acosta - código fuente en GitHub (Netlify CMS)
- portfolioris.nl por Joris Hulsbosch – código fuente en GitHub