openpencil/packages/docs/de/programmable/cli/scripting.md
mrhard9090 2c9bb8fcd7
feat(figma-api): add detachInstance() to instances (#778)
instance.detachInstance() turns an instance into a frame that keeps its content, as in Figma, from scripts run through eval. It reuses the graph's shared detach implementation, asserts editability like the proxy's other mutations, and joins the instance surface check against @figma/plugin-typings.
2026-09-30 05:19:11 +04:00

43 lines
1.7 KiB
Markdown

---
title: Skripte
description: JavaScript mit einer Figma-kompatiblen Plugin API ausführen, um Designs zu lesen, zu verändern und zu erzeugen.
---
# Skripte
`openpencil eval` führt JavaScript für ein OpenPencil-Dokument aus und stellt das globale Objekt `figma` bereit. Der Befehl eignet sich für Massenänderungen, Prüfungen, Testdaten und Automatisierung ohne Editoroberfläche.
## Grundlagen
```sh
openpencil eval design.fig -c "return figma.currentPage.children.length"
```
Beginnt der Code nicht mit `return`, führt OpenPencil ihn in einer asynchronen Funktion aus.
## Ändern und speichern
`--write` schreibt in die Eingabedatei, `--output` in eine neue Datei. Längere Skripte können über die Standardeingabe gelesen werden.
## Geöffnetes Dokument
Ohne Dateipfad wird das aktuelle Dokument der Desktop-App verwendet.
## Ausgabe
Nicht interaktive Ausgabe verwendet standardmäßig JSON. `--quiet` unterdrückt die Ausgabe.
## Unterstützte API
Die API orientiert sich an Figma Plugin API und arbeitet mit SceneGraph und dem OpenPencil-Dateiformat.
Sie umfasst Dokumente und Seiten, Objekterstellung, Baumoperationen, Komponenten, Variablen sowie häufige Eigenschaften für Geometrie, Darstellung, Text, automatische Anordnung und Konturen.
Exakte Namen wie `figma.createFrame()`, `node.appendChild()`, `fontSize` und `layoutMode` bleiben mit Figma kompatibel.
## Noch nicht kompatibel
Noch nicht angeboten werden unter anderem `node.exportAsync()`, `node.setBoundVariable()`, `figma.combineAsVariants()` und die Stil-APIs von Figma.
Dafür stehen je nach Aufgabe CLI-Export, Werkzeuge des Kernpakets oder direkte SceneGraph-Hilfsfunktionen zur Verfügung.