Skip to content

快速开始

1. 安装

bash
pnpm add -D iconctl

2. 写配置

bash
pnpm exec iconctl init

或手写 iconctl.config.ts

ts
import { defineConfig } from 'iconctl'

export default defineConfig({
  prefix: 'brand',
  sources: [
    {
      type: 'figma',
      file: 'https://www.figma.com/design/<fileKey>/Icons',
      pages: ['Icons'],
    },
  ],
  output: {
    json: 'icons.json',
    svg: 'svg',
    preview: 'preview.html',
  },
  validate: {
    width: 24,
    height: 24,
  },
})

本地目录不需要 token,产出同一份 Iconify JSON:

ts
sources: [{ type: 'directory', dir: './raw-svg' }]

3. Token

Figma 来源需要 FIGMA_TOKEN。目录来源不需要。

bash
export FIGMA_TOKEN=figu_xxx

4. 同步

bash
pnpm exec iconctl sync

CI:

bash
pnpm exec iconctl sync --json

--dry-run 只校验不写盘。校验失败默认非 0 退出,并且不写半成品。

5. 使用 JSON

@iconify/tailwind4 或 UnoCSS 里把自定义 collection 指到 icons.json,然后写 i-brand-arrow-left。这个 class 是 CSS mask,不是字体。

给别的开发两种拿法:JSON 跟应用仓一起走,或发成 可安装的包。见分发