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.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjAwMjk2MjYsIm5iZiI6MTcyMDAyOTMyNiwicGF0aCI6Ii8zNzk3NDQzOC8zMDIwMzY3MjctZDYwZmI2YTMtNTM2Zi00ZmNjLWE3ZmQtZTUwODVjNzUyYWFjLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MDMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzAzVDE3NTUyNlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWE4ZjFkN2RkODY5NmU3YTQwMzQxOTFlODg2MDA0YjhkOTAxMDcxMWZmYTU3NWFhZDgwOTBhNTliZTc1YjIxNzgmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.WVcTRhmbiE6H9pxCSby17gZsZeAYOhlq7TO4AxMUSNE)
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.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjAwMjk2MjYsIm5iZiI6MTcyMDAyOTMyNiwicGF0aCI6Ii8zNzk3NDQzOC8zMDIwMzY4MzctYTE2MmE1YWMtNzZlOC00Y2I3LWIxYTctOGRjYmVjMmE5ZjQyLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MDMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzAzVDE3NTUyNlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTBmZmM1NDcwMzRkYmY4ZTlmNTRhOTNmYzUwZTM2NDJjM2Y1NGRjNmVmYjQwYWVmODBjN2I3YWZlOTI0ZDEzNjMmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.5t_NoSkzGGS-9Gkdt0VKZLYMJVSFWYCTv_28I_7YFjo)