Generate xcassets from Figma.
- node version >= 14.15.4
- Figma design file
- Figma shared library ( for
dtcgen stylecommand )
yarn global add dtcgen
# or
npm install -g dtcgen- create config files with
dtcgen init, then fill out required parameters in.envfile dtcgen sliceto generate Image Set of xcassetsdtcgen styleto generate Color Set of xcassets
*) If you installed locally, prepend npx before dtcgen.
| prop name | type | description |
|---|---|---|
| caseSensitive | boolean | set true if you want keyword to be case sensitive. |
| keywords | string[] | multiple keywords included in components' names that you want to extract. |
| extension | string | the file extension to be extracted. currently supporting [pdf/svg/png]. |
| sliceAllImages | boolean | set true if you want to extract all images within a design file as png. |
| scales | number[] | set scales you want to extract. but it's valid only on 'png' extension. |
numbers that you can specify to scales are as below:
| scales | |
|---|---|
| figma | 1, 2, 3, 4 |
Assuming you want to retrieve icons as xcassets-ready files, and icons have defined under Icons / *** already. Then, you need to add icons or Icons (if caseSensitive) to keywords within dtc.config.json . So you can retrieve all icons under that.
*) Spaces in between will be eliminated on generating assets. Then / is treated as a folder on generation.
| prop name | type | description |
|---|---|---|
| color.isEnabled | boolean | set true if you want to extract and generate color xcassets. |
All templates use namespace . You can modify templates as you like once you get your own templates folder created automatically after first command execution. You can specify your own template folder by .env file.
- iconName.imageset
- universal
- if
extensionis png, create multiple scaled images from 1x to 4x as specified byscales. - if
extensionis svg or pdf, it will checkPreserve Vector Data.
*) If something wrong, deleting OUTPUT_PATH/extracted folder would fix the issue ( OUTPUT_PATH is defined in .env ).
- colorName.colorset
- universal
- use srgb
- support Any appearance / Dark mode
https://github.com/mitolog/dtcgen/blob/master/Changelog.md
apache2.0
