--- title: Renderer JSX description: Deklaratywne tworzenie projektu w JSX i eksport z powrotem do JSX lub HTML z Tailwind. --- # Renderer JSX OpenPencil używa JSX jako deklaratywnego języka tworzenia projektu. Nadaje się on do agentów AI, skryptów i powtarzalnego budowania interfejsów. JSX służy też jako czytelna reprezentacja istniejącego projektu. Zmiany wyglądają jak zwykła różnica w kodzie, którą można sprawdzić i zachować w systemie kontroli wersji. ## Tworzenie projektu Narzędzie `render`, dostępne w czacie AI, MCP i `eval` CLI, przyjmuje JSX: ```jsx Card Title Description text ``` W MCP i czacie AI przekaż narzędziu `render` ciąg JSX. Do konwersji w drugą stronę użyj polecenia `export`. ## Elementy | Element | Tworzy | Alias | |---------|--------|-------| | `` | Ramkę z automatycznym układem | `` | | `` | Prostokąt | `` | | `` | Elipsę lub koło | | | `` | Obiekt tekstowy; elementy potomne stają się treścią | | | `` | Linię | | | `` | Gwiazdę | | | `` | Wielokąt | | | `` | Ścieżkę wektorową | | | `` | Grupę | | | `
` | Sekcję | | ## Właściwości stylu Nazwy właściwości pozostają zgodne z API JSX, natomiast ich znaczenie jest następujące: - `flex`, `gap`, `wrap`, `justify`, `items` i skróty `p*` sterują układem i odstępami; - `w`, `h`, `minW`, `maxW`, `x` i `y` sterują rozmiarem i położeniem; - `bg`, `stroke`, `rounded`, `opacity`, `shadow`, `blur` i `blendMode` sterują wyglądem; - `fontFamily`, `fontSize`, `fontWeight`, `color` i `textAlign` sterują typografią. ## Eksport do JSX ```sh openpencil export design.fig -f jsx # Format OpenPencil openpencil export design.fig -f jsx --style tailwind # Klasy Tailwind ``` Wyeksportowany projekt można zmienić jak kod i ponownie wyrenderować. ## Porównanie zmian Różnica JSX może być sprawdzana w przeglądzie zmian i przechowywana w systemie kontroli wersji.