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 arraycontent.
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— enumsolid | 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 conlabel,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 conkeyyvalue. Sin validación del lado del servidor.