Skip to content

Latest commit

 

History

History
153 lines (118 loc) · 7.07 KB

decap-cms.mdx

File metadata and controls

153 lines (118 loc) · 7.07 KB
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.

Instalar DecapCMS

Hay dos opciones para añadir Decap a Astro:

  1. Instala Decap a través de un administrador de paquetes con el siguiente comando:
```shell npm install decap-cms-app ``` ```shell pnpm add decap-cms-app ``` ```shell yarn add decap-cms-app ```
  1. 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>

Configuración

  1. Crea una carpeta de administración estática en public/admin/

  2. Agrega config.yml a public/admin/:

    • public
      • admin
        • config.yml
  3. Para agregar soporte para colecciones de contenido, configura cada esquema en config.yml. El siguiente ejemplo configura una colección blog, definiendo una etiqueta 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" }
  4. Agregar la ruta admin para tu aplicación React. Este archivo puede ser public/admin/index.html junto con config.yml o, si prefieres utilizar una ruta de Astro, src/pages/admin.astro.

    - 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> ```
  5. 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.

Uso

Navega hasta yoursite.com/admin/ para usar el editor de Decap CMS.

Autenticación

Decap CMS con Netlify Identity

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.

Decap CMS con clientes OAuth externos

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.

Recursos de la comunidad

Sitios en producción

Los siguientes sitios usan Astro + Decap CMS en producción:

Temas