1.9 KiB
1.9 KiB
| title | description |
|---|---|
| Scripting | Esegui JavaScript con la Figma Plugin API — interroga nodi, modifica design in batch, crea frame. |
Scripting
openpencil eval ti dà accesso alla Figma Plugin API completa dal terminale. Leggi nodi, modifica proprietà, crea forme — poi scrivi le modifiche nel file.
Utilizzo Base
openpencil eval design.fig -c "figma.currentPage.children.length"
Il flag -c accetta JavaScript. La variabile globale figma funziona come la Figma Plugin API.
Interrogazione dei Nodi
openpencil 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 }))
"
Modifica e Salvataggio
openpencil eval design.fig -c "
figma.currentPage.children.forEach(n => n.opacity = 0.5)
" -w
-w scrive le modifiche nel file di input. Usa -o output.fig per scrivere in un file diverso.
Lettura da Stdin
Per script più lunghi:
cat transform.js | openpencil eval design.fig --stdin -w
Modalità App in Esecuzione
Ometti il file per eseguire sull'app desktop in esecuzione:
openpencil eval -c "figma.currentPage.name"
API Disponibili
L'oggetto figma supporta:
figma.currentPage— la pagina attivafigma.root— la radice del documentofigma.createFrame(),figma.createRectangle(),figma.createEllipse(),figma.createText(), ecc..findAll(),.findOne()— cerca tra i discendenti.appendChild(),.insertChild()— manipolazione dell'albero- Tutti i setter di proprietà:
.fills,.strokes,.effects,.opacity,.cornerRadius,.layoutMode,.itemSpacing, ecc.
Questa è la stessa API utilizzata dai plugin Figma, quindi le conoscenze esistenti e gli snippet di codice si trasferiscono direttamente.
Output JSON
openpencil eval design.fig -c "..." --json