Feito com Chinaski

Blocos

Um bloco é um trecho reutilizável de conteúdo estruturado que você incorpora em qualquer página ou post com um único shortcode: {{block:name​}}. Quando o build do site é executado, cada shortcode é substituído pelo HTML renderizado do bloco, edite o bloco uma vez, e toda página que o incorpora muda.

Como funciona a incorporação

No editor de corpo de qualquer página ou post, digite:

{{block:my-block-name​}}
  • O nome deve corresponder ao Nome interno de um bloco publicado, no mesmo idioma da página.
  • Um bloco não publicado é ignorado silenciosamente: o placeholder é removido da saída em vez de ser renderizado.
  • O mesmo bloco pode ser incorporado várias vezes em um mesmo corpo, cada local o renderiza de forma idêntica.
  • Para descobrir onde um bloco é usado, abra-o no admin e confira sua visualização de uso, que lista todas as páginas e posts cujo corpo o menciona.

Tipos de bloco simples

Esses tipos não precisam de JSON, apenas campos planos:

Tipo Melhor para Campos principais
cta Seção de chamada para ação (CTA) heading, subheading, texto do botão, URL do botão
image Imagem avulsa com legenda URL da imagem, texto alternativo, legenda
quote Citação em destaque (pull quote) texto da citação, atribuição, rótulo
hero Banner em largura total heading, subheading, texto do botão, URL do botão, imagem
testimonial Depoimento de cliente texto da citação, atribuição, avatar, rótulo
stat Estatística única em destaque heading (o número), subheading (o rótulo)
promo Duas colunas de imagem + texto imagem, heading, texto do corpo, botão
embed Iframe / incorporação de terceiros corpo em HTML bruto, legenda
video Vídeo incorporado com imagem de capa URL de incorporação, heading, legenda, imagem de capa
form Formulário de contato heading, subheading, texto do botão de envio, URL de ação
newsletter Faixa de inscrição por e-mail heading, subheading, texto do botão
audio Player de áudio incorporado heading, URL do arquivo de áudio
callout Caixa de nota / aviso / dica heading, texto do corpo, variant (info, warning, success, note)
code_block Amostra de código com destaque de sintaxe language, rótulo opcional, texto do código
divider Linha horizontal entre seções nenhum, apenas estilização
heading Heading avulso de seção texto do heading, nível (h1-h6), subheading opcional
spacer Espaço vertical entre blocos nenhum, altura definida pelos controles de aparência de padding/margin
text Seção de texto rico livre heading, texto do corpo

Tipos de bloco estruturados

Esses repetem linhas de dados armazenados como JSON; o formulário de admin de cada tipo inclui um editor de linhas que escreve o JSON para você:

Tipo Melhor para Formato dos dados
accordion FAQ / seções recolhíveis linhas repetidas de título + corpo, renderizadas nativamente (sem JavaScript)
table Tabela de dados uma linha de cabeçalho mais linhas de valores de célula
columns Grade de recursos em 2, 3 ou 4 colunas linhas repetidas de heading, corpo, imagem opcional
gallery Grade de imagens linhas repetidas de URL da imagem, texto alternativo, legenda opcional
button_group Linha de botões de chamada para ação linhas repetidas de texto do botão, URL, estilo opcional; variante de estilo do grupo
citations Lista de fontes / referências linhas repetidas de texto da citação, URL opcional, id de âncora
faq Seção de FAQ com marcação para SEO linhas repetidas de pergunta + resposta; gera automaticamente dados Schema.org FAQPage
feature_grid Lista de recursos com ícone linhas repetidas de ícone (imagem ou glifo), heading, corpo
grid Layout de grade livre em HTML personalizado células repetidas em HTML bruto; número de colunas e espaçamento (gap)
logo_bar Faixa de logos de parceiros / clientes linhas repetidas de imagem do logo, texto alternativo, URL de link opcional
page_list Lista com links automáticos dos filhos de uma página uma referência à página-mãe, os cards (título, URL, descrição) são gerados a partir dos dados reais da página em tempo de build, sem linhas manuais
pricing_table Comparação de planos / preços linhas repetidas de nível: nome, preço, período, lista de recursos, botão opcional, flag "featured" opcional
team Equipe / quadro de colaboradores linhas repetidas de foto, nome, cargo, biografia, links opcionais
timeline Histórico cronológico ou roadmap linhas repetidas de data, título, corpo
schedule Cronograma semanal recorrente (horários, missas) mais exceções com data linhas repetidas de dia/hora/rótulo semanais, mais linhas repetidas de exceções com data; gera automaticamente dados Schema.org Event para as próximas exceções

Convenções de segurança de texto: HTML rico é aceito em um conjunto específico de campos de corpo, corpos de linha de accordion e columns, corpos de embed, texto do corpo de callout, respostas de faq, corpos de item de feature_grid, células de grid, texto do corpo de blocos text, e corpos de evento de timeline. Todo outro campo (títulos, headings, URLs de imagem, legendas, textos de botão) é escapado automaticamente.

Opções de aparência para todo bloco

Cada bloco tem controles de estilização compartilhados aplicados como estilos inline no seu wrapper:

  • Cor de fundo - um valor hex, rgb ou hsl. Você também pode colocar aqui o nome de uma classe utilitária em vez de uma cor: essa string é anexada como classe CSS ao wrapper em vez de um estilo de fundo.
  • Borda - habilite, defina uma largura e sobrescreva a cor da borda.
  • Cor do texto - aplicada aos elementos de heading e corpo nos tipos que suportam isso.
  • Padding e margin - shorthand estilo CSS ao redor de todo o bloco.

Trabalhando com blocos no admin

Os blocos são gerenciados na tela Blocks, uma lista paginada agrupada por tipo, com o nome, idioma, flag de publicado e data da última atualização de cada entrada.

  • Novos blocos começam em branco; erros durante o salvamento são exibidos todos de uma vez.
  • Blocos de exemplo: a página de listagem pode construir um conjunto inicial, hero, CTA, promo, stat, quote e testimonial, pré-estilizado e em inglês; blocos existentes com os mesmos nomes são deixados intactos.
  • Lixeira: excluir um bloco o move para a lixeira com um link de desfazer, de modo que erros são recuperáveis.
  • Relatório de uso mostra onde um bloco é referenciado.
  • Ações em massa operam em até 500 blocos selecionados: publicar, despublicar, mover para a lixeira, duplicar como rascunhos, mudar o tipo do bloco (apenas para tipos atualmente registrados), entre outras. Qualquer mudança dispara globalmente um build do site.
  • Importar: blocos (e snippets) podem ser trazidos via JSON ou CSV.

Quando você altera um bloco, os contêineres do seu shortcode são reconstruídos automaticamente, de modo que o site ao vivo reflete a atualização.

Estendendo: adicionando um novo tipo de bloco

Novos tipos de bloco são uma entrada de registro mais dois arquivos: registre o slug do tipo na tela Block Types (essa tabela é a única autoridade para tipos válidos), depois adicione um template de builder e um formulário de admin para o tipo. Ao escrever o template de builder, escape os campos controlados pelo usuário como de costume; os únicos campos esperados com HTML bruto são corpos de embed e linhas de corpo dentro de conteúdo de accordion/columns.

Stacks: sequências reutilizáveis de blocos

Para seções maiores que se repetem entre páginas, stacks permitem exportar/importar, duplicar, ver onde cada uma é usada e comparar (diff) revisões, tudo a partir da seção Stacks, ao lado de Blocks.

Também em Blocos

Bloco de grade CSS com células de formato livre para layouts personalizados.

Organize recursos em uma grade com ícones, títulos e descrições.

Bloco de tabela de preços com comparação entre planos.

Exiba membros da equipe com fotos, títulos e bios.

Cronograma visual de eventos ou marcos em ordem.

Bloco de perguntas frequentes com respostas expansíveis.

Destaque citações com atribuição e metadados.

Formulário de contato com campos personalizáveis.

Listagem automática de páginas filhas com cards.

Incorpore iframes e conteúdo terceirizado.

Adicione um bloco table: uma tabela HTML simples com cabeçalhos e linhas, seus campos e quando usá-lo no lugar do bloco de tabela de preços.

O bloco schedule: cronograma semanal recorrente mais exceções com data, com dados Schema.org Event automáticos.

Leia este site em