4个版本
0.2.2 | 2022年11月5日 |
---|---|
0.2.1 | 2022年11月5日 |
0.2.0 | 2022年11月5日 |
0.1.0 | 2022年11月5日 |
2255 在 Web编程
16KB
302 行
令牌解析器
消费Figma Tokens JSON文件,并输出CSS。
例如,您可以将Figma Tokens同步功能与GitHub仓库挂钩,然后让figma-token-parser
在GH操作中运行。然后,在每次更新时,都会将更新的CSS文件输出到特定的位置。这将使您能够更新Figma中的样式,从UI推送更改,并将更新自动传播到您的实时网站/应用程序/等等。
该项目目前处于超级WIP状态,可能不会为您工作。它仅保证与Figma Tokens Pro一起工作,并且如果您使用“多个文件”选项将令牌拆分为目录中的单独json文件而不是一个巨大的json文件,则它将正常工作。它目前完全依赖于FT的主题功能,并且只有一个命令,它会为Figma Tokens设置中的每个主题导出一个CSS文件。我计划在未来添加更多功能,以允许更可配置的输出,或者将所有令牌导出到一个CSS文件中的选项(包括通过类名保留主题支持的命名空间值 - 请参阅下面的TODO。)
安装
yarn add -D figma-token-parser
## or
yarn global add figma-token-parser
您也可以通过Cargo安装此软件包
cargo install tokenparser
用法
# Below are the default values for the args,
# you can pass no args or use the dir and out args to suit your environment
tokenparser --dir ./tokens --out ./build
定义 [WIP]
主题
多个集合的令牌集合,共同组成一个可以序列化为CSS或JSON的主题。
令牌集
一个包含所有逻辑上属于一起的令牌集合。Figma令牌中的组织方式由用户决定。
令牌
单个令牌值,其形状如下
struct TokenDefinition {
/// The value, even numeric values are given as a string by Figma Tokens
value: String,
/// What type of value is this? Color, BorderRadius, FontFamily, etc. (Key is `type` in raw data, but aliased to `kind` for Rust.)
kind: String,
id: String, // <--- We add these last two based on the object property names to help with lookups.
name: String, //
}
TODO
- 支持如果Figma Tokens设置为导出一个大文件而不是拆分为文件和目录。
- 支持没有主题,只有令牌集的用户。(以下内容可以帮助解决这个问题,如果我们能够分别输出集合,我们可以更改主题输出,使默认情况下,所有集合都获得自己的CSS文件,而主题输出仅使用
@import
将相关集合包含在一个文件中。) - 设计一种方法来分别输出源集和启用集。我们还将跟踪已处理的源集,以确保只处理一次(多个主题可能使用相同的源集)。同时考虑一种索引文件,该文件使用
@import
按主题导入所有单独的集,并可选择包含所有,通过类名命名空间在:root
- 支持JSON导出。
依赖项
~3.5–6MB
~104K SLoC