Jump Start Desenvolvimento de tema baseado em bloco com o FSE Theme Generator

 

Temas baseados em blocos não são complicados. Sua estrutura é quase simples o suficiente para que os desenvolvedores não precisem de uma ferramenta para gerar um tema em branco. No entanto, para aqueles que não estão familiarizados com como os temas são criados para o próximo recurso de edição completa do site (FSE), um padrão é um bom lugar para começar.

O repositório de Experimentos de Tema agora tem um novo Tema Vazio. Paralelamente, está uma ferramenta de linha de comando para gerar uma cópia desse tema com um nome, autor e URI personalizados.

A ideia não é nova. Existem toneladas dessas ferramentas para gerar um tema na natureza. No entanto, é hora de novas ferramentas que se concentrem em temas baseados em blocos.

Para autores de temas que desejam gerar um novo tema baseado em bloco, eles devem clonar uma cópia do repositório de Experimentos de Tema. Em seguida, navegue até essa pasta por meio da ferramenta de linha de comando e digite o seguinte comando:

php new-empty-theme.php

A partir desse ponto, é uma simples questão de responder a algumas perguntas e deixar a ferramenta fazer o trabalho de criar uma nova pasta de tema.

Explorando o tema gerado

O tema gerado não é muito bonito. No entanto, é um tema que funciona dentro do novo sistema de edição de site completo. Após a ativação, os autores do tema podem começar a mexer no tema por meio da tela do Editor de sites (requer o plugin Gutenberg).

Tema vazio gerado no recurso Editor de sites no plugin Gutenberg WordPress.
Tema gerado no Editor de sites.

Há uma exceção a ser um trabalhando tema. O carregamento da parte do modelo de cabeçalho está corrompido. Claro, eu abri um tíquete para esse problema, que deve ser fácil para a equipe de desenvolvimento resolver.

A estrutura de arquivos e pastas é estreita em comparação aos temas tradicionais. Ele contém o básico para colocar um tema em execução no Editor de sites. Os seguintes arquivos e pastas estão incluídos:

  • /assets
    alignments-front.css
  • /block-template-parts
    header.html
  • /block-templates
    index.html
    singular.html
  • experimental-theme.json
  • functions.php
  • index.php
  • readme.md
  • style.css

Mesmo esses provavelmente serão reduzidos no futuro. o experimental-theme.json arquivo será renomeado para theme.json.

O atual alignments-front.css é quase 80 linhas de código clichê para lidar com os vários alinhamentos de bloco. Não há necessidade de cada autor de tema recriar todo esse código, o que não deve mudar muito entre os temas. É por isso que há um tíquete em aberto para Gutenberg fornecer estilos de alinhamento no front end. Os autores do tema poderão sobrescrever isso. No entanto, quanto menos arquivos e linhas de autores de tema de código precisarem lidar, melhor.

O padrão index.php o modelo está vazio. Não será mais útil para a construção de temas agora que os modelos baseados em blocos são armazenados no /block-templates e /block-template-parts pastas. style.css apenas abriga as informações do tema. Temas FSE usarão principalmente theme.json para configurar estilos padrão.

Nos próximos meses e anos, os autores do tema trabalharão principalmente no theme.json arquivo e pastas de modelo de bloco. O júri ainda não decidiu se o ecossistema de temas aceitará prontamente essa mudança. Ao mesmo tempo, é revigorante ver como se desenrola o desenvolvimento do tema. Os temas tradicionais de hoje criaram bases de código gigantescas em uma tentativa de acompanhar os recursos que os usuários desejam. Uma mudança na forma como os desenvolvedores criam temas era inevitável e necessária.

Minha única picuinha com o tema gerado é a inclusão da função de configuração de tema conectável no functions.php arquivo, que de alguma forma se tornou um dos principais temas desenvolvidos ao longo dos anos. Existem APIs para habilitar ou desabilitar tudo em tais funções de configuração, e não há razão para que os temas filho os substituam no atacado.

Se as coisas correrem de acordo com o planejado, até mesmo a função de configuração de tema padrão pode estar em falta. Essas funções são geralmente uma lista de chamadas para add_theme_support(). O plano de longo prazo é que os recursos atuais suportados pelo tema sejam habilitados por padrão para temas baseados em bloco ou configuráveis ​​por meio do theme.json Arquivo.

Source

Deixe uma resposta

%d blogueiros gostam disto: