Automation
Trois outils dans Scissor font le travail répétitif pour vous : Actions enregistre une série de commandes et la rejoue, Variables échange du texte et de la visibilité depuis une table de données pour qu'un design devienne plusieurs, et Scripts pilote l'éditeur entier depuis JavaScript. Aucun d'eux n'a besoin d'un compte ou d'un serveur — comme le reste de Scissor, ils s'exécutent sur votre propre machine.
Actions : enregistrez une fois, rejouez partout
Le panneau Actions (Fenêtre › Actions) enregistre ce que vous faites et le rejoue sur une nouvelle sélection. Appuyez sur Enregistrer, exécutez les commandes que vous voulez capturer — aligner, décaler, ajouter une ombre, quelle que soit la série — puis appuyez sur Arrêter et donnez un nom à l'action. Elle rejoint la liste, montrant combien d'étapes elle contient.
Cliquez sur une action pour la jouer sur ce qui est sélectionné maintenant ; ⌥-cliquez sur une pour la supprimer. Parce qu'une action n'est qu'une liste de commandes, elle répète une routine exacte à travers de nombreux objets sans que vous ayez à cliquer à travers elle à chaque fois.
Variables : un design, plusieurs versions
Le panneau Variables (Fenêtre › Variables) transforme un design fixe en modèle piloté par des données. Deux choses sur un objet peuvent être rendues dynamiques :
- Rendre le texte dynamique
- Lie les mots d'un objet texte à une variable, donc différents jeux de données peuvent mettre du texte différent au même endroit.
- Rendre la visibilité dynamique
- Lie si un objet s'affiche, donc un jeu peut activer ou désactiver des parties du design.
Délier rend un objet lié à nouveau fixe.
Jeux de données
Un jeu de données est une ligne de valeurs pour ces variables — un badge, une carte, un cadre. Capturer enregistre les valeurs actuelles comme nouveau jeu ; les flèches passent d'un jeu au suivant et le design se met à jour pour correspondre. Importer CSV… lit un lot entier à la fois — une colonne par variable, une rangée par jeu — et Exporter CSV écrit les jeux en retour pour les modifier dans un tableur.
Exporter chaque jeu à la fois
Exporter les jeux de données… rend le plan actif une fois pour chaque jeu de données et les écrit tous en une seule passe, en PNG, JPEG, WebP ou SVG. Une feuille de badges de nom, un ensemble de bannières localisées ou une série de cartes sociales sortent comme un lot ordonné de fichiers, chacun avec ses propres données renseignées.
Scripts : piloter Scissor depuis JavaScript
Pour tout ce qu'un menu ne peut pas exprimer, un script le peut. Fichier › Scripts › Console de script… ouvre un éditeur où vous écrivez du JavaScript et l'exécutez contre le document ouvert ; Autre script… (⌘F12) exécute un fichier .js depuis le disque. Un script s'exécute dans un Web Worker, loin de la page, donc il ne peut ni toucher l'interface ni vos fichiers sauf à travers l'objet scissor qui lui est donné — chaque appel est exécuté sur le moteur et renvoyé.
L'objet scissor couvre le terrain commun :
- Créer des formes et du texte
scissor.rect,roundedRect,ellipse,polygon,star,pathettextdessinent des illustrations ; chacun prend une position et une taille et un objet d'options pourfill,strokeetstrokeWidth(les couleurs sont n'importe quelle couleur CSS).- Lire le document
await scissor.document()renvoie l'application, la sélection, les calques et les plans de travail tels que les panneaux les voient ;scissor.selection()renvoie juste ce qui est sélectionné.- Agir dessus
scissor.select,groupetundo, etscissor.run(command)pour n'importe quelle commande du moteur — les mêmes commandes que les menus envoient.- Parler en retour
scissor.logimprime dans la console ;scissor.alertaffiche un message.
Un court exemple — un anneau de points colorés et une légende :
const doc = await scissor.document();
scissor.log('Boards:', 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, 'Hello, Scissor', { size: 24 });
La Console de script conserve le dernier code que vous avez exécuté, donc un script fonctionnel est là quand vous y revenez.