logo

Paleta - Deixe colorido🎨

Palette — Construtor visual de páginas. Não precisa ser designer.

Demonstração ao vivo Baixar Palette

Scroll

Localizar e substituir em massa nas páginas do Palette

O conteúdo criado com o Palette vive dentro da árvore de componentes de cada página — títulos, rich text, rótulos de botões, destinos de links e referências de mídia ficam todos guardados nos inputs salvos da página. Isso torna uma alteração em todo o site complicada: o mesmo nome de produto ou logo pode aparecer em dezenas de páginas, e não há um único campo para editar.

Os novos comandos do Palette Pro resolvem exatamente isso. Cada um percorre todas as páginas do Palette, reescreve apenas o que corresponde, salva somente as páginas que realmente mudaram e pode pré-visualizar tudo com --dry-run antes de tocar no banco de dados.

🏷️

Renomear um produto

Altere o nome de um produto ou recurso onde quer que apareça no texto das páginas e nos botões.

🏢

Renomear a marca da empresa

Troque um nome antigo de empresa por um novo em todo o site em uma única execução.

🔗

Redirecionar links

Mova todos os links de uma URL ou página antiga para um novo destino — interno ou externo.

🖼️

Substituir o logo

Aponte toda referência a uma imagem/logo antiga para um novo item de Mídia, em todo o site.

O ponto de partida

Nossa página de demonstração traz os quatro ingredientes em uma única visualização: um logo no cabeçalho, um botão de produto “Download Palette”, links de navegação e call-to-action, e uma imagem de mídia no destaque (hero).

Página de demonstração do Canvas antes de qualquer alteração: logo P roxo, botão Download Palette, hero Make it colorful e imagem colorida de roda.
A página de demonstração “Palette” como fornecida — nome do produto, logo, links e imagem do hero renderizados a partir dos inputs dos componentes do Palette.

① Texto e nomes — ppr:string

Renomear um produto or company across the site

Suponha que o produto “Palette” será renomeado para “Prism”. Comece com um dry run para ver exatamente o que mudaria — nada é gravado ainda:

drush — dry run
$ drush ppr:string "Palette" "Prism" --dry-run
 ---------------- -------------
  Canvas page ID   Occurrences
 ---------------- -------------
  13               7
  22               1
 ---------------- -------------
 [OK] [dry-run] Substituiria "Palette" -> "Prism": 8 ocorrência(s) em 2 página(s).

A tabela por página mostra onde estão as correspondências. Gostou? Remova o --dry-run para aplicar:

drush — aplicar
$ drush ppr:string "Palette" "Prism"
 [OK] Replaced "Palette" -> "Prism": 8 ocorrência(s) em 2 página(s).

O botão do produto é atualizado imediatamente — junto com todo outro “Palette” no texto das páginas, títulos e rich text:

Antes

Cabeçalho mostrando o botão Download Palette.

Depois

Cabeçalho mostrando o botão Download Prism.

A correspondência é uma simples substituição de substring, aplicada aos valores de string, ao HTML de rich text, e ao título e descrição de cada página. É sensível a maiúsculas, então Palette e palette são tratados separadamente.

② Links — ppr:link

Apontar todos os links para uma nova página

Quando uma landing page muda de endereço, atualize o destino onde quer que esteja linkada. O comando de links corresponde ao URI do link exatamente, então /about nunca reescreve acidentalmente /about-us. Funciona tanto para URLs absolutos quanto internos do Drupal (internal:/…).

drush — dry run
$ drush ppr:link "https://www.drupal.org/project/canvas_palette" \
        "https://prism.example.com/download" --dry-run
 ---------------- -------------
  Canvas page ID   Occurrences
 ---------------- -------------
  13               4
 ---------------- -------------
 [OK] [dry-run] Would replace
   https://www.drupal.org/project/canvas_palette
   -> https://prism.example.com/download: 4 ocorrência(s) em 1 página(s).

Cada call-to-action, item de navegação e botão embutido que apontava para o endereço antigo agora aponta para o novo — em um único comando, sem edição página por página.

Links internos também

Redirecionar entre páginas do site funciona da mesma forma: drush ppr:link "internal:/old-page" "internal:/new-page".

③ Mídia e logo — ppr:media

Trocar um logo ou imagem em todos os lugares

As referências de mídia são trocadas por identidade. Cada argumento pode ser um ID de mídia numérico ou um UUID, e ambos são validados antes de qualquer alteração. Aqui substituímos o logo antigo do cabeçalho (mídia 24) por um novo (mídia 9):

drush — dry run e aplicar
$ drush ppr:media 24 9 --dry-run
 ---------------- -------------
  Canvas page ID   Occurrences
 ---------------- -------------
  13               1
 ---------------- -------------
 [OK] [dry-run] Substituiria mídia 24 -> mídia 9: 1 ocorrência(s) em 1 página(s).

$ drush ppr:media 24 9
 [OK] Replaced media 24 -> media 9: 1 occurrence(s) across 1 page(s).

Como o cabeçalho aparece em todas as páginas que o usam, uma única execução renomeia a marca do logo em todo o site. O comando cobre referências de imagem e vídeo dos componentes, bem como o próprio campo de imagem da página.

Antes — old logo

Cabeçalho com o logo P roxo original.

Depois — new logo

Cabeçalho com o novo logo colorido de roda e o botão Download Prism.

A renomeação completa da marca, lado a lado

Três comandos curtos — um nome, um link, um logo — e a página é transformada, com exatamente as mesmas edições aplicadas a todas as outras páginas do Canvas do site.

Antes

Página de demonstração original.

Depois

Página de demonstração com nova marca, nome e logo novos.

Feito para ser seguro em sites reais

  • Pré-visualize primeiro. Todo comando aceita --dry-run, imprimindo as contagens exatas por página sem gravar nada.
  • Somente o que mudou é salvo. Páginas sem correspondência permanecem intactas, mantendo o histórico de revisões limpo.
  • Correspondência precisa. Links correspondem por URI exato; mídia por ID/UUID validado — sem edições colaterais.
  • Execuções resilientes. Se uma página contém dados legados de componente que o Canvas não consegue mais salvar, ela é pulada com um aviso claro em vez de abortar todo o lote.
drush — uma página que não pode ser salva é pulada, não fatal
$ drush ppr:string "About us" "Our Story"
 ! [WARNING] 1 página(s) correspondeu mas não pôde ser salva
             (dados de componente inválidos preexistentes) e foi pulada:
 ---------------- ------------------------------------------------------------
  Canvas page ID   Erro ao salvar
 ---------------- ------------------------------------------------------------
  9                inputs.baf00a36…flex_direction: A propriedade flex_direction
                   é obrigatória.
 ---------------- ------------------------------------------------------------

A execução continua e cada página saudável ainda é atualizada — a página pulada é relatada por ID para que você possa corrigi-la separadamente.

Referência de comandos

ComandoAliasO que ele substitui
palette-pro:replace-string "<search>" "<replace>"ppr:stringQualquer substring em valores de string, HTML de rich text, e título / descrição da página.
palette-pro:replace-link "<old-uri>" "<new-uri>"ppr:linkURIs de link com correspondência exata (e strings de link puras). Absolutos ou internal:/….
palette-pro:replace-media <old> <new>ppr:mediaReferências de mídia em todos os lugares (imagens/vídeos de componentes + campo de imagem da página). Os argumentos são um ID de mídia ou UUID.

Adicione --dry-run a qualquer comando para pré-visualizar. Cada um imprime uma tabela por página de quantas ocorrências foram tocadas.