Skripting
open-pencil eval bietet dir die vollständige Figma Plugin API im Terminal. Knoten lesen, Eigenschaften ändern, Formen erstellen — und Änderungen zurück in die Datei schreiben.
Grundlegende Verwendung
sh
open-pencil eval design.fig -c "figma.currentPage.children.length"Das -c-Flag nimmt JavaScript entgegen. Das figma-Global funktioniert wie die Figma Plugin API.
Knoten abfragen
sh
open-pencil eval design.fig -c "
figma.currentPage.findAll(n => n.type === 'FRAME' && n.name.includes('Button'))
.map(b => ({ id: b.id, name: b.name, w: b.width, h: b.height }))
"Bearbeiten und speichern
sh
open-pencil eval design.fig -c "
figma.currentPage.children.forEach(n => n.opacity = 0.5)
" -w-w schreibt die Änderungen zurück in die Eingabedatei. Verwende -o output.fig, um stattdessen in eine andere Datei zu schreiben.
Von Stdin lesen
Für längere Skripte:
sh
cat transform.js | open-pencil eval design.fig --stdin -wLive-App-Modus
Lass die Datei weg, um gegen die laufende Desktop-App auszuführen:
sh
open-pencil eval -c "figma.currentPage.name"Verfügbare API
Das figma-Objekt unterstützt:
figma.currentPage— die aktive Seitefigma.root— das Dokumentwurzel-Elementfigma.createFrame(),figma.createRectangle(),figma.createEllipse(),figma.createText(), etc..findAll(),.findOne()— Nachkommen durchsuchen.appendChild(),.insertChild()— Baummanipulation- Alle Eigenschafts-Setter:
.fills,.strokes,.effects,.opacity,.cornerRadius,.layoutMode,.itemSpacing, etc.
Dies ist dieselbe API, die Figma-Plugins verwenden, sodass bestehendes Wissen und Code-Snippets direkt übertragbar sind.
JSON-Ausgabe
sh
open-pencil eval design.fig -c "..." --json