Visão Geral
O Matchday Automator (v1.9.x) automatiza cartelas de Jogos e Escalação no Photoshop (UXP). O fluxo perfeito: autenticar, escolher idioma e clube, definir preferências, selecionar a competição ativa e Sincronizar Clube, escolher a automação e Aplicar — com log e desfazer.
Problemas comuns
Camadas não atualizam
Verifique se os nomes são canônicos (v2) e idênticos aos listados nesta página. O plugin atualiza todas as camadas de texto com o mesmo nome.
Sem dados após sincronizar
Confirme se selecionou a competição ativa antes de clicar em Sincronizar Clube. O cache local pode manter dados; se necessário, limpe o cache no menu do painel.
Servidor bloqueia .json
Use o proxy de leitura /api/data.php?path=football/<rel>. Há exemplos no bloco de “Bases de dados”.
Instalar & preparar
- Abra o Photoshop (UXP 23+).
- Instale o plugin Matchday Automator e abra o painel.
- Autentique com sua licença.
- Selecione o idioma e, nas Preferências, escolha País, Liga e Time.
- Garanta que seu PSD use camadas canônicas (v2) listadas abaixo.
Instalação manual (se a extensão não aparecer no menu)
- Renomeie o arquivo
MatchdayAutomator.zxppara.zipe extraia. - Copie a pasta extraída para a pasta de extensões UXP compatível com sua instalação do Photoshop.
Configurar seu PSD
Dicas práticas para deixar seu arquivo pronto para automação: nomes canônicos de camadas, tipografia e objetos inteligentes.
Checklist rápido (PSD)
- Usa camadas canônicas (v2) nos textos que quer automatizar.
- Datas/horas coerentes no JSON (ou
datetimeISO). - Se usar templates, confira placeholders como
@{{HOME}},@{{AWAY}},@{{DATETIME_LOCAL}}.
Nomenclatura de camadas (texto)
O plugin atualiza todas as camadas de texto cujo nome corresponda às chaves canônicas (v2).
- Use exatamente os nomes canônicos (evite sufixos/prefixos).
- Separe as partes em camadas distintas quando for útil:
datetime.dateedatetime.time. - Campos compostos são aceitos:
fixture.date-time,match.round-and-date.
Tipografia e estilos
- Defina fonte, corpo, tracking e cor nos textos antes de automatizar.
- Preservamos estilos; trocamos apenas o conteúdo textual.
- Para listas (ex.: titulares), use quebra de linha (
Enter) entre itens.
Objetos inteligentes
A troca de Smart Objects pode ser feita manualmente (Replace Contents). O plugin oferece troca em lote opcional para camadas com nome padronizado (ex.: Escudo), quando disponível.
Camadas canônicas (v2)
Básico (match.*)
match.home,match.away,match.confronto,match.home-xmatch.round,match.round-label,match.round-ordinal,match.round-full,match.round-and-datematch.date,match.time,match.date-time,match.weekdaymatch.venue,match.city,match.score
Estendido
team.home,team.awayfixture.home-x,fixture.title,fixture.title-with-result,fixture.date-time,fixture.subtitledatetime.day-name,datetime.date,datetime.timecompetition.name,competition.season,competition.timezonescore.home,score.away,score.compactstatus.code,status.period,status.minute,status.badgeresult.team(W/D/L do ponto de vista do clube)template.priority.1….4,template.generic
Tabela de mapeamento — Camada → Origem no JSON / Lógica
| Camada (padrão) | Origem | Exemplo | Aliases |
|---|---|---|---|
| match.round | round (número) | 1 | Rodada |
| match.round-label | roundLabel (texto) | "01" | Rodada Decimal |
| match.round-ordinal | Derivado de round | "1ª" | — |
| match.round-full | Derivado: ordinal + palavra | "12ª Rodada" | — |
| datetime.day-name | Derivado de datetime | "Sábado" | Dia Semana |
| datetime.date | Derivado de datetime | "2025-04-05" | Data |
| datetime.time | Derivado de datetime | "16:00" | Hora |
| venue.name | venue.name | "Estádio Central" | Estádio |
| venue.city | venue.city | "Cidade" | Cidade |
| team.home | home.name | "Clube A" | Time Casa |
| team.away | away.name | "Clube B" | Time Fora |
| fixture.home-x | Derivado: home.name + " x " | "Clube A x " | — |
| fixture.title | Derivado: home + " x " + away | "Clube A x Clube B" | Confronto |
| fixture.date-time | Derivado: date + " | " + time | "2025-04-05 | 16:00" | Data e Hora |
| header.round-date | Derivado: round-label + " - " + date + " | " + time | "01 - 2025-04-05 | 16:00" | Rodada e Data |
| template.priority.1 … template.priority.4 | templates.priority[n].text | Texto com variáveis | Prioridade 1 … 4 |
| template.generic | templates.genericAnnouncement | "Clube A x Clube B • 05/04 16:00 • Estádio Central" | Anúncio genérico |
| lineup.starters | UI de Escalação | Lista com \n | Titulares |
| lineup.numbers | UI de Escalação | Lista com \n | Numeração |
| lineup.subs | UI de Escalação | "12 Fulano\n22 Beltrano" | Reservas |
Exemplo — Round por idioma (locale)
Entrada: round = 1 PT-BR → round-ordinal: "1ª" | round-full: "1ª Rodada" EN → round-ordinal: "1st" | round-full: "1st Round" ES → round-ordinal: "1.ª" | round-full: "1.ª Jornada"
Exemplo — Tokens nos templates
Camada: template.priority-1
Texto: @{{HOME}} x @{{AWAY}} — @{{DATE}} | @{{TIME}} · @{{VENUE}}
Com dados: HOME=Clube A, AWAY=Clube B, DATE=31/05, TIME=18:30, VENUE=Estádio Central
Saída: Clube A x Clube B — 31/05 | 18:30 · Estádio Central
Fluxo perfeito (v1.9.x)
- Autenticar: informe sua licença.
- Idioma: escolha o idioma na tela de boas‑vindas.
- Preferências: selecione País → Liga → Time e, se desejar, ajuste formatação (rodada, data, hora, caixa, dia da semana).
- Base de Dados: escolha a competição ativa e clique em Sincronizar Clube. O plugin lê
/data/footballdo site (com fallback via proxy) e salva cache local. - Automação: selecione Jogos ou Escalação, revise e clique em Atualizar.
Você pode desfazer a última aplicação (snapshot) e acompanhar tudo no log do painel.
Bases de dados (JSON/CSV)
O plugin aceita CSV e JSON. Para Jogos, recomendamos o schema v2 (abaixo). Para Atletas, um objeto com jogadores (ou players/elenco).
Exemplo — Jogos (schema v2)
{
"schemaVersion": "2.0",
"competition": {
"id": "br-serie-b-2025",
"name": "Brasileirão Série B",
"season": "2025",
"timezone": "America/Sao_Paulo"
},
"matches": [
{
"id": "sbb-2025-001",
"round": 1,
"roundLabel": "01",
"datetime": "2025-04-05T16:00:00",
"home": { "id": "clube-a", "name": "Clube A" },
"away": { "id": "clube-b", "name": "Clube B" },
"venue": { "name": "Estádio Central", "city": "Cidade" }
}
]
}
O plugin calcula rótulos de rodada e converte datas/horas conforme preferências.
Exemplo — Atletas
{
"jogadores": [
{ "nome": "Goleiro 1", "numero": 1, "posicao": "Goleiro" },
{ "nome": "Zagueiro 1", "numero": 3, "posicao": "Zagueiro" },
{ "nome": "Atacante 1", "numero": 9, "posicao": "Atacante" }
]
}
- Jogos (mínimo):
round(ouroundLabel),home.name,away.name;datetimerecomendado. - Atletas (mínimo):
nome,numeroeposicao. O plugin aceita sinônimos (name/number/position).
Fonte remota: estrutura suportada e proxy
Quando hospedado neste site, o plugin lê em /data/football e, se o servidor bloquear .json, usa automaticamente o proxy em /api/data.php?path=football/<rel>.
Exemplos de teste (200 esperado):
/api/data.php?path=football/index.json/api/data.php?path=football/countries/br/leagues.json
Automações
⚽ Jogos
- Lista de partidas filtrada pelo time selecionado.
- Preenche as camadas canônicas (
match.*,datetime.*,fixture.*,competition.*escore/statusquando houver placar). - Atualiza múltiplas camadas de texto com o mesmo nome, em todos os artboards.
- 💡 Use
template.priority.1..4para textos prontos com placeholders.
👥 Escalação
- Seleção de 11 titulares (exige 1 goleiro), capitão, reservas e ordem.
- Definição de capitão, reservas e ordenação.
- Geração automática de listas de Titulares, Numeração e Reservas.
Aplicar & Log
Clique em Atualizar para propagar os dados. O console embutido mostra tudo que foi alterado. Você pode Desfazer a última aplicação (snapshot de texto por camada).
FAQ
Quais campos de Jogos são obrigatórios?
No mínimo: round (ou roundLabel), home.name e away.name. datetime e venue melhoram rótulos e templates.
Como devo nomear as camadas?
Use as chaves canônicas (v2) — ex.: match.round-label, fixture.title, datetime.date, score.home.
Como funciona o cache/limite no Starter?
O plugin faz cache com TTL (país/ligas/times/partidas). No Starter, há um medidor de cota (requisições/mês) exibido no painel; o Pro remove o limite.
Log de versões
Entradas mais recentes primeiro.
v1.9.3 — 01/10/2025
- Camadas canônicas (v2) consolidadas e documentadas.
- Sincronizar Clube com fallback via proxy
/api/data.phpe cache com TTL. - Preferências por time: rodada, data, hora, caixa e dia da semana.
- Botão Desfazer (snapshot de texto por camada).