Automation
Três ferramentas no Scissor fazem o trabalho repetitivo por si: Ações gravam uma sequência de comandos e reproduzem-na, Variáveis trocam texto e visibilidade a partir de uma tabela de dados para que um design se torne muitos, e Scripts conduzem o editor inteiro a partir de JavaScript. Nenhuma delas precisa de conta ou servidor - tal como o resto do Scissor, rodam na sua própria máquina.
Ações: grave uma vez, reproduza em qualquer lugar
O painel Ações (Janela › Ações) grava o que faz e reproduz-o numa nova seleção. Pressione Gravar, corra os comandos que quer capturar - alinhar, deslocar, adicionar uma sombra, o que quer que a sequência seja - depois pressione Parar e dê um nome à ação. Ela junta-se à lista, mostrando quantos passos contém.
Clique numa ação para a reproduzir no que quer que esteja selecionado agora; ⌥-clique numa para a eliminar. Como uma ação é apenas uma lista de comandos, repete uma rotina exata em muitos objetos sem passar por ela de cada vez.
Variáveis: um design, muitas versões
O painel Variáveis (Janela › Variáveis) transforma um design fixo num modelo conduzido por dados. Duas coisas num objeto podem ser tornadas dinâmicas:
- Tornar Texto Dinâmico
- Liga as palavras de um objeto de texto a uma variável, para que diferentes conjuntos de dados possam colocar texto diferente no mesmo lugar.
- Tornar Visibilidade Dinâmica
- Liga se um objeto se mostra, para que um conjunto possa ligar ou desligar partes do design.
Desligar torna um objeto ligado fixo de volta.
Conjuntos de dados
Um conjunto de dados é uma fileira de valores para essas variáveis - um crachá, um cartão, uma moldura. Capturar guarda os valores atuais como um novo conjunto; as setas passam de um conjunto para o próximo e o design atualiza-se para corresponder. Importar CSV… lê um lote inteiro de uma vez - uma coluna por variável, uma fileira por conjunto - e Exportar CSV grava os conjuntos de volta para editar numa folha de cálculo.
Exportando cada conjunto de uma vez
Exportar Conjuntos de Dados… renderiza a prancha ativa uma vez para cada conjunto de dados e grava-os todos numa só passagem, como PNG, JPEG, WebP ou SVG. Uma folha de crachás, um conjunto de banners localizados ou uma série de cartões de redes sociais saem como um lote arrumado de arquivos, cada um com os seus próprios dados preenchidos.
Scripts: conduzir o Scissor a partir de JavaScript
Para qualquer coisa que um menu não consiga expressar, um script consegue. Ficheiro › Scripts › Consola de Scripts… abre um editor onde escreve JavaScript e o corre contra o documento aberto; Outro Script… (⌘F12) corre um arquivo .js do disco. Um script corre num Web Worker, afastado da página, pelo que não pode tocar na interface nem nos seus arquivos exceto através do objeto scissor que lhe é dado - cada chamada é realizada no motor e respondida de volta.
O objeto scissor cobre o terreno comum:
- Fazer formas e texto
scissor.rect,roundedRect,ellipse,polygon,star,pathetextdesenham arte; cada um recebe uma posição e tamanho e um objeto de opções parafill,strokeestrokeWidth(cores são quaisquer cores CSS).- Ler o documento
await scissor.document()retorna a aplicação, seleção, camadas e pranchas como os painéis as veem;scissor.selection()retorna apenas o que está selecionado.- Atuar sobre ele
scissor.select,groupeundo, escissor.run(command)para qualquer comando do motor - os mesmos comandos que os menus enviam.- Falar de volta
scissor.logimprime na consola;scissor.alertmostra uma mensagem.
Um pequeno exemplo - um anel de pontos coloridos e uma legenda:
const doc = await scissor.document();
scissor.log('Pranchas:', doc.artboards.length);
for (let i = 0; i < 12; i++) {
const a = (i / 12) * Math.PI * 2;
await scissor.ellipse(300 + Math.cos(a) * 120, 260 + Math.sin(a) * 120, 36, 36,
{ fill: `hsl(${i * 30} 80% 60%)` });
}
await scissor.text(230, 270, 'Olá, Scissor', { size: 24 });
A Consola de Scripts mantém o último código que correu, para que um script de trabalho esteja lá quando voltar a ele.