48 translated pages (de, es, fr, it, pl, ru) for the Programmable section: overview, AI Chat, Collaboration, JSX Renderer, CLI (inspecting, exporting, analyzing, scripting). CLI reference and MCP server pages copied as-is (mostly code/tables).
1.9 KiB
1.9 KiB
| title | description |
|---|---|
| Skryptowanie | Wykonuj JavaScript z Figma Plugin API — odpytuj węzły, modyfikuj projekty wsadowo, twórz ramki. |
Skryptowanie
open-pencil eval daje Ci pełne Figma Plugin API w terminalu. Odczytuj węzły, modyfikuj właściwości, twórz kształty — a następnie zapisz zmiany z powrotem do pliku.
Podstawowe użycie
open-pencil eval design.fig -c "figma.currentPage.children.length"
Flaga -c przyjmuje JavaScript. Globalny obiekt figma działa jak Figma Plugin API.
Odpytywanie węzłów
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 }))
"
Modyfikacja i zapis
open-pencil eval design.fig -c "
figma.currentPage.children.forEach(n => n.opacity = 0.5)
" -w
-w zapisuje zmiany z powrotem do pliku wejściowego. Użyj -o output.fig, aby zapisać do innego pliku.
Odczyt ze stdin
Dla dłuższych skryptów:
cat transform.js | open-pencil eval design.fig --stdin -w
Tryb żywej aplikacji
Pomiń plik, aby uruchomić na działającej aplikacji desktopowej:
open-pencil eval -c "figma.currentPage.name"
Dostępne API
Obiekt figma obsługuje:
figma.currentPage— aktywna stronafigma.root— korzeń dokumentufigma.createFrame(),figma.createRectangle(),figma.createEllipse(),figma.createText()itp..findAll(),.findOne()— wyszukiwanie potomków.appendChild(),.insertChild()— manipulacja drzewem- Wszystkie settery właściwości:
.fills,.strokes,.effects,.opacity,.cornerRadius,.layoutMode,.itemSpacingitp.
To jest to samo API, którego używają wtyczki Figma, więc istniejąca wiedza i fragmenty kodu można zastosować bezpośrednio.
Wyjście JSON
open-pencil eval design.fig -c "..." --json