Trabajar con contenido

En esta página

Esta guía cubre cómo crear, editar y gestionar contenido usando el panel de administración de EmDash.

Acceder al Admin

Abre tu navegador en /_emdash/admin en tu sitio. Inicia sesión con las credenciales que creaste durante la configuración.

El panel muestra:

  • Barra lateral - Navegación a colecciones, medios y configuración
  • Lista de contenido - Entradas en la colección seleccionada
  • Acciones rápidas - Crear nuevo contenido, operaciones masivas

Crear contenido

  1. Haz clic en un nombre de colección en la barra lateral (p. ej., Posts)

  2. Haz clic en New Post (o el equivalente para tu colección)

  3. Completa los campos requeridos:

    • Title - Nombre de visualización del contenido
    • Slug - Identificador de URL (generado automáticamente del título, editable)
  4. Añade contenido usando el editor de texto enriquecido

  5. Establece metadatos en la barra lateral:

    • Status - Draft, Published o Archived
    • Publication date - Cuándo publicar
    • Categories and tags - Asignaciones de taxonomía
  6. Haz clic en Save

Estados del contenido

Cada entrada tiene uno de tres estados:

EstadoVisibilidadCaso de uso
DraftSolo adminTrabajo en progreso
PublishedPúblicoContenido en vivo
ArchivedSolo adminContenido retirado

Cambia el estado usando el menú desplegable en la barra lateral del editor.

El editor de texto enriquecido

El editor de EmDash admite:

  • Encabezados - H2 a H6
  • Formato - Negrita, cursiva, subrayado, tachado
  • Listas - Ordenadas y desordenadas
  • Enlaces - Internos y externos
  • Imágenes - Insertar desde la biblioteca de medios
  • Bloques de código - Con resaltado de sintaxis
  • Bloques HTML - HTML sin procesar para incrustaciones y widgets personalizados
  • Incrustaciones - YouTube, Vimeo, Twitter
  • Secciones - Bloques de contenido reutilizables mediante el comando /section

Comandos con barra

Escribe / para acceder a comandos de inserción rápida:

ComandoAcción
/sectionInsertar una sección reutilizable
/imageInsertar una imagen de la biblioteca de medios
/codeInsertar un bloque de código
/htmlInsertar un bloque HTML sin procesar

Atajos de teclado

AcciónAtajo
NegritaCtrl/Cmd + B
CursivaCtrl/Cmd + I
EnlaceCtrl/Cmd + K
DeshacerCtrl/Cmd + Z
RehacerCtrl/Cmd + Shift + Z
GuardarCtrl/Cmd + S

Insertar imágenes

  1. Haz clic en el botón de imagen en la barra de herramientas

  2. Selecciona una imagen existente de la biblioteca de medios, o sube una nueva

  3. Añade texto alternativo (requerido para accesibilidad)

  4. Ajusta opciones de alineación y tamaño

  5. Haz clic en Insert

Bloques HTML

Usa /html para insertar un bloque HTML sin procesar. Esto es útil para incrustar widgets de terceros, marcado personalizado o contenido que no encaja en los tipos de bloque estándar. Los bloques HTML también se crean automáticamente al importar contenido de WordPress o Contentful que contiene marcado que EmDash no puede convertir a bloques nativos de Portable Text.

Para permitir iframes de proveedores adicionales, sobrescribe el componente htmlBlock en tu renderizado de Portable Text:

---
// src/components/MyHtmlBlock.astro
import sanitizeHtml from "sanitize-html";

const { node } = Astro.props;

if (!node?.html) {
  return null;
}

const sanitized = sanitizeHtml(node.html, {
  allowedTags: [...sanitizeHtml.defaults.allowedTags, "img", "span", "iframe"],
  allowedAttributes: {
    ...sanitizeHtml.defaults.allowedAttributes,
    "*": ["class", "id", "data-*", "style"],
    iframe: ["src", "width", "height", "frameborder", "allow", "allowfullscreen"],
    img: ["src", "srcset", "alt", "title", "width", "height", "loading"],
  },
  allowedIframeHostnames: [
    "www.youtube.com",
    "player.vimeo.com",
    "iframe.videodelivery.net", // Cloudflare Stream
    // Add your providers here
  ],
});
---

<div class="html-block" set:html={sanitized} />

Luego pásalo a <PortableText>:

---
import { PortableText } from "emdash/ui";
import MyHtmlBlock from "../components/MyHtmlBlock.astro";
---

<PortableText
  value={post.data.content}
  components={{ type: { htmlBlock: MyHtmlBlock } }}
/>

Editar contenido

  1. Navega a la colección que contiene el contenido

  2. Haz clic en la entrada que deseas editar

  3. Realiza tus cambios

  4. Haz clic en Save

Los cambios en contenido publicado aparecen inmediatamente en tu sitio.

Historial de revisiones

EmDash rastrea los cambios en el contenido. Accede al historial de revisiones desde la barra lateral del editor:

  1. Haz clic en Revisions en la barra lateral del editor

  2. Ve la lista de versiones anteriores con marcas de tiempo

  3. Haz clic en una revisión para previsualizarla

  4. Haz clic en Restore para revertir a esa versión

Operaciones masivas

Realiza acciones en múltiples entradas a la vez:

  1. Usa las casillas de verificación para seleccionar entradas en la lista de contenido

  2. Haz clic en el menú desplegable Bulk Actions

  3. Selecciona una acción:

    • Publish - Establecer todos los seleccionados como publicados
    • Archive - Establecer todos los seleccionados como archivados
    • Delete - Eliminar permanentemente los seleccionados
  4. Confirma la acción

Buscar y filtrar

Búsqueda

Usa el cuadro de búsqueda para encontrar contenido por título o contenido. La búsqueda no distingue mayúsculas y coincide con palabras parciales.

Filtros

Filtra la lista de contenido por:

  • Status - Draft, Published, Archived
  • Date range - Fechas de creación o modificación
  • Author - Quién creó el contenido
  • Taxonomy - Asignaciones de categoría o etiqueta

Haz clic en Clear Filters para restablecer.

Programar contenido

Programa contenido para publicar en una fecha futura:

  1. Crea o edita contenido

  2. Establece el estado en Draft

  3. Establece la Publication date en una fecha y hora futuras

  4. Haz clic en Save

Cuando llegue la fecha de publicación, el contenido se publicará automáticamente.

Eliminar contenido

Elimina contenido desde la pantalla de edición o la lista de contenido:

Desde el editor

  1. Abre el contenido que deseas eliminar

  2. Haz clic en Delete en la barra de herramientas

  3. Confirma la eliminación

Desde la lista

  1. Selecciona entradas usando casillas de verificación

  2. Haz clic en Bulk Actions > Delete

  3. Confirma la eliminación

API de contenido

Para acceso programático, usa la API de admin de EmDash.

Crear contenido

La siguiente solicitud crea un borrador de publicación:

POST /_emdash/api/content/posts
Content-Type: application/json
Authorization: Bearer YOUR_API_TOKEN

{
  "title": "My New Post",
  "slug": "my-new-post",
  "content": "<p>Post content here</p>",
  "status": "draft"
}

Actualizar contenido

La siguiente solicitud actualiza una publicación existente y la publica:

PUT /_emdash/api/content/posts/my-new-post
Content-Type: application/json
Authorization: Bearer YOUR_API_TOKEN

{
  "title": "Updated Title",
  "status": "published"
}

Eliminar contenido

La siguiente solicitud elimina permanentemente una publicación:

DELETE /_emdash/api/content/posts/my-new-post
Authorization: Bearer YOUR_API_TOKEN

Traducir contenido

Cuando i18n está habilitado, puedes crear traducciones de cualquier entrada de contenido.

Crear una traducción

  1. Abre la entrada de contenido que deseas traducir

  2. En la barra lateral del editor, encuentra el panel Translations

  3. Haz clic en Translate junto al locale objetivo

  4. Edita el contenido prellenado — ajusta el título, slug y cuerpo para el nuevo idioma

  5. Haz clic en Save

La nueva traducción está vinculada a la entrada original y comienza como borrador. Publícala independientemente cuando la traducción esté lista.

Cambiar entre traducciones

El panel Translations muestra todos los locales configurados. Haz clic en Edit junto a cualquier traducción existente para navegar directamente. El locale actual está marcado con una marca de verificación.

Filtro de locale

En la lista de contenido, usa el menú desplegable de locale en la barra de herramientas para filtrar entradas por idioma. Cada entrada muestra su locale en una columna dedicada.

Consulta la guía de internacionalización para detalles completos sobre configuración, consultas y el selector de idioma.

Próximos pasos