Feito com Chinaski

Criar & Clonar Temas

Criar um tema é importar um (um arquivo de templates) ou clonar um existente para modificar. Ambos aterrissam sob Themes na área de admin. Esta página cobre as regras de importação, o fluxo de clone, e o caminho de exportação que lhe dá uma entrega limpa.

Criando um tema por upload

Themes → add toma um nome e um arquivo de arquivo compactado:

  • Formatos aceitos: .tar.gz, .tgz, ou .zip, até 5 MB.
  • O conjunto de templates deve incluir os seis arquivos obrigatórios: _head.tt, _header.tt, _footer.tt, page.tt, post.tt, blog_index.tt. Arquivos faltantes falham a instalação com um flash nomeando cada um.
  • Apenas arquivos .tt e um _theme.json opcional são extraídos : dotfiles são ignorados; os prefixos de diretório do arquivo compactadose achatam independentemente do estilo de empacotamento.

Varredura de segurança na importação. Cada template enviado é escaneado antes de qualquer coisa aterrissar:

  • Blocos [% PERL / [% RAWPERL são rejeitados de imediato.
  • Diretivas INSERT com caminhos absolutos são rejeitadas.
  • Diretivas USE que carregam módulos de capacidade de sistema (File, Socket, LWP, etc.) são rejeitadas.

Um único arquivo inseguro aborta o upload inteiro : nada parcial é instalado. Tarballs de lixo são reportados separadamente (“not a valid .tar.gz”) dos erros de arquivos-faltando. Symlinks e hardlinks dentro de um arquivo são ignorados : um vetor de traversal, em vez de uma funcionalidade de tema.

As instalações são atômicas: os arquivos extraem para um diretório de staging renomeado para o lugar, de modo que um tema parcialmente instalado nunca aparece na lista de temas, mesmo após uma falha no meio da instalação. O tema criado é auditado com um manifest completo de arquivos (nomes e tamanhos), então espera você ativá-lo : o upload nunca auto-ativa.

Clonando

A lista de Themes tem um botão Clone por tema. Dê-lhe um nome novo; você obtém:

  • Uma cópia do diretório de templates do tema de origem sob um slug fresco (o nome slugificado).
  • Uma linha fresca na tabela de temas e uma entrada de auditoria de manifest de arquivos (“cloned from …; files=…”).
  • Um redirecionamento ao editor do novo tema.

Guardrails: o slug default é reservado tanto na criação quanto no clone; slugs existentes em conflito (disco ou DB) são recusados antes de qualquer cópia; um diretório parcialmente copiado é removido em falha em vez de deixado meio instalado.

Clonar o tema padrão produz um diretório de tema vazio : os templates embutidos não existem no disco, então começar do default é exatamente o mesmo que começar do zero num diretório agrupado seu. Enquanto um tema não carrega nenhuma sobrescrita, o builder faz fallback ao conjunto de templates embutido : de modo que um clone em branco funciona de fábrica e você personaliza à medida que avança.

Ative e ponha-o ao ar

Fazer upload (ou clonar) não põe um tema ao ar: a ativação é uma ação separada de um clique no tema. Ativar é o que a busca de templates do build usa : o diretório de um tema ativo não padrão é consultado primeiro, com os built-ins como fallback, de modo que temas parciais são seguros de desenvolver (um tema só precisa embarcar os arquivos que muda).

Exportação : empacotamento de entrega

Qualquer tema exporta da sua tela de detalhes como um .tar.gz de seus arquivos .tt : útil para arquivar, mover um tema entre instâncias, ou entregar um arquivo de tema a um colega. A rota de exportação é só de admin; exportar o tema default embarcado sem arquivos personalizados não é possível (não há cópia no disco para exportar).

O editor

Tanto o upload quanto o clone o aterrisam na tela de detalhes do tema : sua árvore de arquivos com rotas de edição por arquivo, previews, e o lado de geração por design-brief (esse fluxo de trabalho vive no doc de LLM Theme Prompting, não nesta página).

Leia este site em