Referència de blocs

Els blocs són unitats tipades de contingut: { id, type, order, data }. La forma de data es descriu mitjançant un JSON Schema i es valida en desar mitjançant un hook validate del costat del servidor: un tipus desconegut o una càrrega no vàlida es rebutja, de manera que un node mai no pot referenciar quelcom que el renderitzador no sap gestionar. Tot seguit tens tots els blocs integrats i els seus camps.

Estructura i contingut

hero

Un titular, un subtítol i una crida a l'acció principal.

  • title — cadena, obligatori.

  • subtitle — cadena.

  • cta_text — cadena.

  • cta_url — cadena.

rich_text

Prosa de format llarg com a document ProseMirror.

  • doc — objecte, obligatori. Ha de ser un document ProseMirror: doc.type == "doc" amb un array content.

cta

Un avís enfocat amb un botó.

  • title — cadena, obligatori.

  • cta_text — cadena, obligatori.

  • cta_url — cadena, obligatori.

  • subtitle — cadena.

columns

Una fila multicolumna de columnes de text pla (com a mínim dues).

  • columns — array, obligatori (≥2).

  • columns[].body — cadena, obligatori.

code

Un fragment amb ressaltat de sintaxi.

  • code — cadena, obligatori.

  • language — cadena.

  • filename — cadena.

Mitjans

image

  • src — cadena, obligatori.

  • alt — cadena.

  • caption — cadena.

gallery

Una graella d'imatges (com a mínim una).

  • images — array, obligatori.

  • images[].src — cadena, obligatori.

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

embed

  • url — cadena, obligatori.

  • provider, title — cadena.

divider

  • style — enum solid | dashed | dotted. Sense camps obligatoris.

Màrqueting

Aquests impulsen pàgines de màrqueting a mida des del CMS. Eviten deliberadament els objectes imbricats i els arrays de cadenes perquè l'editor genèric basat en esquemes de l'admin els pugui renderitzar, i per això mkt_pricing.features és una cadena delimitada per salts de línia, no un array. Cadascun (excepte mkt_ui) requereix un key no buit pel qual el renderitzador el situa.

mkt_section

  • key — cadena, obligatori.

  • eyebrow, title, body — cadena.

mkt_items

  • key — cadena, obligatori.

  • kind — cadena (pista de disposició).

  • items[] — objectes amb label, title, body, meta (totes cadenes).

mkt_pricing

  • key — cadena, obligatori.

  • note — cadena.

  • tiers[] — objectes: name, sub, price_m, price_a (els preus són cadenes), per, access, cta, tag, features (una línia per característica).

mkt_ui

Cadenes de chrome clau/valor (nav, botons, peu, modal…); els valors són el que es tradueix.

  • items[] — objectes amb key i value. Sense validació del costat del servidor.