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.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkwNzcyMDAsIm5iZiI6MTczOTA3NjkwMCwicGF0aCI6Ii8zNzk3NDQzOC8zMDIwMzY3MjctZDYwZmI2YTMtNTM2Zi00ZmNjLWE3ZmQtZTUwODVjNzUyYWFjLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMDklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjA5VDA0NTUwMFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWNkYzNkOTVhMTkxNzQ2YjQxZDNkZTQxMmJhYzQ2ZGQzN2JiY2M5YjhkMDk0NWViNmUwOTljNzJjNjYyMzQ0OTcmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.bejg6VpJwLfF5KfzPCcKD-oMx5qTP0riN1o9YcayOLs)
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.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkwNzcyMDAsIm5iZiI6MTczOTA3NjkwMCwicGF0aCI6Ii8zNzk3NDQzOC8zMDIwMzY4MzctYTE2MmE1YWMtNzZlOC00Y2I3LWIxYTctOGRjYmVjMmE5ZjQyLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMDklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjA5VDA0NTUwMFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWU0MTQ4M2ZhNDQyZmE4NjBiNTE5NDA3ZWQ3N2NmNzllNDc5ZmU2ODcwNjE3ZWI0NGRkMGE2ODA3YWFiNTNmNWQmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.7hIEUI_kK4E7Re7bqpWoP7w1Z38luJ_Y3eT2dpguo0M)