Automation
Tres herramientas en Scissor hacen el trabajo repetitivo por ti: Acciones graban una secuencia de comandos y la reproducen, Variables intercambian texto y visibilidad desde una tabla de datos para que un diseño se convierta en muchos, y Scripts controlan todo el editor desde JavaScript. Ninguna de ellas necesita cuenta ni servidor — como el resto de Scissor funcionan en tu propia máquina.
Acciones: grabar una vez, reproducir en cualquier sitio
El panel Acciones (Ventana › Acciones) graba lo que haces y lo reproduce en una nueva selección. Pulsa Grabar, ejecuta los comandos que quieres capturar — alinear, desplazar, añadir una sombra, lo que sea la secuencia — luego pulsa Detener y dale un nombre a la acción. Se une a la lista, mostrando cuántos pasos contiene.
Haz clic en una acción para reproducirla sobre lo que esté seleccionado ahora; ⌥-clic en una para eliminarla. Porque una acción es solo una lista de comandos, repite una rutina exacta a través de muchos objetos sin que tú la recorras cada vez.
Variables: un diseño, muchas versiones
El panel Variables (Ventana › Variables) convierte un diseño fijo en una plantilla controlada por datos. Dos cosas en un objeto se pueden hacer dinámicas:
- Hacer texto dinámico
- Vincula las palabras de un objeto de texto a una variable, de modo que diferentes conjuntos de datos pueden poner diferente texto en el mismo lugar.
- Hacer visibilidad dinámica
- Vincula si un objeto se muestra, de modo que un conjunto puede activar o desactivar partes del diseño.
Desvincular hace que un objeto vinculado vuelva a ser fijo.
Conjuntos de datos
Un conjunto de datos es una fila de valores para esas variables — una insignia, una tarjeta, un marco. Capturar guarda los valores actuales como un conjunto nuevo; las flechas avanzan de un conjunto al siguiente y el diseño se actualiza para coincidir. Importar CSV… lee un lote completo de una vez — una columna por variable, una fila por conjunto — y Exportar CSV escribe los conjuntos de vuelta para editar en una hoja de cálculo.
Exportar cada conjunto de una vez
Exportar conjuntos de datos… renderiza la mesa activa una vez por cada conjunto de datos y los escribe todos en una sola pasada, como PNG, JPEG, WebP o SVG. Una hoja de insignias de nombre, un conjunto de banners localizados o una serie de tarjetas sociales salen como un lote ordenado de archivos, cada uno con sus propios datos rellenos.
Scripts: controlar Scissor desde JavaScript
Para cualquier cosa que un menú no puede expresar, un script puede. Archivo › Scripts › Consola de scripts… abre un editor donde escribes JavaScript y lo ejecutas contra el documento abierto; Otro script… (⌘F12) ejecuta un archivo .js del disco. Un script se ejecuta en un Web Worker, lejos de la página, de modo que no puede tocar la interfaz ni tus archivos excepto a través del objeto scissor que se le da — cada llamada se ejecuta en el motor y se responde de vuelta.
El objeto scissor cubre el terreno común:
- Crear formas y texto
scissor.rect,roundedRect,ellipse,polygon,star,pathytextdibujan obra; cada uno toma una posición y tamaño y un objeto de opciones parafill,strokeystrokeWidth(los colores son cualquier color CSS).- Leer el documento
await scissor.document()devuelve la aplicación, selección, capas y mesas de trabajo como las ven los paneles;scissor.selection()devuelve solo lo seleccionado.- Actuar sobre él
scissor.select,groupyundo, yscissor.run(command)para cualquier comando del motor — los mismos comandos que envían los menús.- Comunicar
scissor.logimprime en la consola;scissor.alertmuestra un mensaje.
Un ejemplo corto — un anillo de puntos de colores y un rótulo:
const doc = await scissor.document();
scissor.log('Mesas:', 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, 'Hola, Scissor', { size: 24 });
La Consola de scripts mantiene el último código que ejecutaste, así que un script que funciona está ahí cuando vuelves a él.