Referencia de bloques

Los bloques son unidades tipadas de contenido: { id, type, order, data }. La forma de data se describe mediante un JSON Schema y se valida al guardar mediante un hook validate del lado del servidor: un tipo desconocido o una carga inválida se rechaza, de modo que un nodo nunca puede referenciar algo que el renderizador no sabe manejar. A continuación tienes todos los bloques integrados y sus campos.

Estructura y contenido

hero

Un titular, un subtítulo y una llamada a la acción principal.

  • title — cadena, obligatorio.

  • subtitle — cadena.

  • cta_text — cadena.

  • cta_url — cadena.

rich_text

Prosa de formato largo como documento ProseMirror.

  • doc — objeto, obligatorio. Debe ser un documento ProseMirror: doc.type == "doc" con un array content.

cta

Un aviso enfocado con un botón.

  • title — cadena, obligatorio.

  • cta_text — cadena, obligatorio.

  • cta_url — cadena, obligatorio.

  • subtitle — cadena.

columns

Una fila multicolumna de columnas de texto plano (al menos dos).

  • columns — array, obligatorio (≥2).

  • columns[].body — cadena, obligatorio.

code

Un fragmento con resaltado de sintaxis.

  • code — cadena, obligatorio.

  • language — cadena.

  • filename — cadena.

Medios

image

  • src — cadena, obligatorio.

  • alt — cadena.

  • caption — cadena.

gallery

Una cuadrícula de imágenes (al menos una).

  • images — array, obligatorio.

  • images[].src — cadena, obligatorio.

  • images[].alt, images[].caption — cadena.

embed

  • url — cadena, obligatorio.

  • provider, title — cadena.

divider

  • style — enum solid | dashed | dotted. Sin campos obligatorios.

Marketing

Estos impulsan páginas de marketing a medida desde el CMS. Evitan deliberadamente los objetos anidados y los arrays de cadenas para que el editor genérico basado en esquemas del admin pueda renderizarlos, y por eso mkt_pricing.features es una cadena delimitada por saltos de línea, no un array. Cada uno (excepto mkt_ui) requiere un key no vacío por el que el renderizador lo ubica.

mkt_section

  • key — cadena, obligatorio.

  • eyebrow, title, body — cadena.

mkt_items

  • key — cadena, obligatorio.

  • kind — cadena (pista de disposición).

  • items[] — objetos con label, title, body, meta (todas cadenas).

mkt_pricing

  • key — cadena, obligatorio.

  • note — cadena.

  • tiers[] — objetos: name, sub, price_m, price_a (los precios son cadenas), per, access, cta, tag, features (una línea por característica).

mkt_ui

Cadenas de chrome clave/valor (nav, botones, pie, modal…); los valores son lo que se traduce.

  • items[] — objetos con key y value. Sin validación del lado del servidor.