This tool helps:
-
Use Figma API to fetch colors data
Styles library should be published to enable API usage
-
Rearrange it in case you have light/dark mode values
-
Generate swift file from fetched data
-
Print out added, deleted, and renamed tokens using
key
parameter to compare
- Start with adding all required values
- Compile script with
./buildGenerator.sh
- Execute
./PaletteGenerator
Uses public Figma API to collect data from the styles library and prepare reusable JSON. Details here
![image](https://private-user-images.githubusercontent.com/37974438/302036727-d60fb6a3-536f-4fcc-a7fd-e5085c752aac.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkxMjA5NjMsIm5iZiI6MTczOTEyMDY2MywicGF0aCI6Ii8zNzk3NDQzOC8zMDIwMzY3MjctZDYwZmI2YTMtNTM2Zi00ZmNjLWE3ZmQtZTUwODVjNzUyYWFjLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMDklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjA5VDE3MDQyM1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTQ5YTE1NzhmNGFiNzk2YWRkODMxMzU4NTc0NjE5Yzc4NWJjZDliZTVlZWYwMTIxOTViNmE5YTMxM2E0NmFkMDgmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.AxCVbxUPzNCuHxYAfZlocvPsvcRhBe3xMoBOye9F7HU)
This stage generates Swift file with color values enum using Stencil. It takes data from Figma API fetcher output JSON.
You can check templates for generator here
![image](https://private-user-images.githubusercontent.com/37974438/302036837-a162a5ac-76e8-4cb7-b1a7-8dcbec2a9f42.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkxMjA5NjMsIm5iZiI6MTczOTEyMDY2MywicGF0aCI6Ii8zNzk3NDQzOC8zMDIwMzY4MzctYTE2MmE1YWMtNzZlOC00Y2I3LWIxYTctOGRjYmVjMmE5ZjQyLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMDklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjA5VDE3MDQyM1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTY3ZDI5ZGFmMjgxMjMxODRiMjBmOTRkMjJiYzg0YTc2NTJmNDFlMWQ2ZTBlYmY2OGJmMjY1YjBiNDljODMxMTcmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.7T0eVjkkVz8Ob016QqpC7YbI6dFL-apFw0YvfHdxtaI)