O problema
A maioria das ferramentas de conteúdo é feita para marketing. O escritor entra como detalhe tardio, soterrado por bibliotecas de blocos, painéis de mídia e widgets de pontuação de SEO. Quem pensa em estrutura precisa de outro instrumento.
A abordagem
O CMS expõe exatamente três primitivas: documentos, seções e referências. Nada de drag-and-drop. Nada de paleta de blocos. O editor é um campo de texto de coluna única com os metadados estruturados ao lado.
ProseMirror foi escolhido pela força de sua schema enforcement. A estrutura do documento é imposta pelo schema, não pela disciplina do usuário.
const schema = new Schema({
nodes: {
doc: { content: "section+" },
section: {
attrs: { id: { default: null } },
content: "block+",
parseDOM: [{ tag: "section" }],
toDOM: (node) => ["section", { id: node.attrs.id }, 0],
},
paragraph: defaultNodes.paragraph,
text: defaultNodes.text,
},
marks: defaultSchema.spec.marks,
});
Resultados
- Escritores relataram rascunhos iniciais 40% mais rápidos
- Zero incompatibilidades entre tipos de conteúdo no pipeline de publicação
- A ausência de recursos virou parte da identidade do produto