sloth-d2c-figma-plugin 2.0.3-beta47 → 2.0.3-beta50
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +114 -66
- package/dist/core.cjs.js +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,108 +1,156 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Sloth D2C Figma 插件
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
> 设计稿转代码工具 - Figma 插件
|
|
4
4
|
|
|
5
|
-
##
|
|
5
|
+
## 📖 简介
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
Sloth D2C 设计稿转代码插件,面向前端开发与设计团队的智能化工具,支持设计稿快速转生产级HTML/React代码,及文本/图片+Prompt输入AI生成目标风格页面并转译至Figma节点。
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
- [x] Webpack
|
|
11
|
-
- [x] WebpackDevServer
|
|
12
|
-
- [x] React Hot Reload
|
|
13
|
-
- [x] React Router
|
|
14
|
-
- [x] React Hooks
|
|
15
|
-
- [x] 便捷的消息通信机制
|
|
9
|
+
### 核心能力
|
|
16
10
|
|
|
17
|
-
|
|
11
|
+
① 高保真还原,样式布局精准匹配设计稿,降低编码与走查成本;
|
|
18
12
|
|
|
19
|
-
|
|
13
|
+
② 代码贴近人工编写,支持TailwindCSS、Flex自动布局、行列分组等技术特性;
|
|
20
14
|
|
|
21
|
-
|
|
15
|
+
③ 支持生成代码在线二次编辑(图片编组、源码调整等);
|
|
22
16
|
|
|
23
|
-
|
|
24
|
-
npm install
|
|
25
|
-
```
|
|
17
|
+
④ 深度协同Sloth D2C MCP,通过配置拦截及数据推送突破RESTful API限制,最大化还原度。
|
|
26
18
|
|
|
27
|
-
|
|
19
|
+
## 🚀 安装
|
|
28
20
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
21
|
+
### 方式一:从 Figma 社区安装(推荐)
|
|
22
|
+
|
|
23
|
+
1. 访问 [Figma 社区页面](https://www.figma.com/community/plugin/1497969094291954974/sloth-d2c)
|
|
24
|
+
2. 点击 "Install" 安装插件
|
|
25
|
+
3. 在 Figma 中打开任意设计稿,通过 `Plugins` 菜单找到 "Sloth D2C 设计稿转代码"
|
|
26
|
+
|
|
27
|
+
### 方式二:本地开发安装
|
|
28
|
+
|
|
29
|
+
1. 克隆项目并安装依赖:
|
|
32
30
|
|
|
33
|
-
调试/打包为Figma插件
|
|
34
31
|
```bash
|
|
35
|
-
|
|
36
|
-
|
|
32
|
+
# 克隆项目
|
|
33
|
+
git clone <repository-url>
|
|
34
|
+
cd ai/apps/figma
|
|
35
|
+
|
|
36
|
+
# 安装依赖(需要在根目录执行)
|
|
37
|
+
cd ../..
|
|
38
|
+
pnpm install
|
|
37
39
|
```
|
|
38
40
|
|
|
39
|
-
|
|
41
|
+
2. 构建插件:
|
|
42
|
+
|
|
40
43
|
```bash
|
|
41
|
-
|
|
42
|
-
pnpm
|
|
44
|
+
# 开发模式(支持热更新)
|
|
45
|
+
pnpm dev:figma
|
|
46
|
+
|
|
47
|
+
# 生产构建
|
|
48
|
+
pnpm build:figma
|
|
43
49
|
```
|
|
44
50
|
|
|
45
|
-
|
|
51
|
+
3. 在 Figma 中加载本地插件:
|
|
52
|
+
- 打开 Figma Desktop 应用
|
|
53
|
+
- 进入 `Plugins` → `Development` → `Import plugin from manifest`
|
|
54
|
+
- 选择 `apps/figma/manifest.json` 文件
|
|
46
55
|
|
|
47
|
-
|
|
56
|
+
## 💡 快速开始
|
|
48
57
|
|
|
49
|
-
|
|
58
|
+
### 基础使用流程
|
|
50
59
|
|
|
51
|
-
|
|
52
|
-
-
|
|
60
|
+
1. **打开插件**
|
|
61
|
+
- 在 Figma 中选择需要转换的设计稿或图层
|
|
62
|
+
- 通过 `Plugins` 菜单启动 "Sloth D2C 设计稿转代码"
|
|
53
63
|
|
|
54
|
-
|
|
64
|
+
2. **选择元素**
|
|
65
|
+
- 插件会自动识别当前选中的图层
|
|
66
|
+
- 也可以手动框选需要转换的区域
|
|
55
67
|
|
|
56
|
-
|
|
68
|
+
3. **配置转换选项**
|
|
69
|
+
- 选择目标代码框架(HTML/Vue/React 等)
|
|
70
|
+
- 配置样式处理方式
|
|
71
|
+
- 设置资源处理策略
|
|
57
72
|
|
|
58
|
-
|
|
73
|
+
4. **生成代码**
|
|
74
|
+
- 点击生成按钮,AI 将智能分析设计稿
|
|
75
|
+
- 实时预览生成的代码效果
|
|
76
|
+
- 一键复制或导出代码
|
|
59
77
|
|
|
60
|
-
|
|
78
|
+
## 🛠️ 开发指南
|
|
61
79
|
|
|
62
|
-
|
|
80
|
+
### 项目结构
|
|
63
81
|
|
|
64
|
-
```
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
82
|
+
```
|
|
83
|
+
apps/figma/
|
|
84
|
+
├── src/
|
|
85
|
+
│ ├── code.ts # 插件主入口
|
|
86
|
+
│ ├── ui.tsx # UI 界面入口
|
|
87
|
+
│ ├── ui.html # UI HTML 模板
|
|
88
|
+
│ ├── types.ts # 类型定义
|
|
89
|
+
│ ├── figma/ # Figma 相关逻辑
|
|
90
|
+
│ │ ├── index.ts # Figma 逻辑入口
|
|
91
|
+
│ │ ├── main.ts # 主流程控制
|
|
92
|
+
│ │ ├── layer.ts # 图层处理
|
|
93
|
+
│ │ ├── node.ts # 节点操作
|
|
94
|
+
│ │ ├── storage.ts # 本地存储
|
|
95
|
+
│ │ ├── event.ts # 事件系统
|
|
96
|
+
│ │ └── core/ # 核心算法
|
|
97
|
+
│ │ ├── core.ts # 核心转换逻辑
|
|
98
|
+
│ │ ├── convert.ts # 元素转换
|
|
99
|
+
│ │ ├── extract-style.ts # 样式提取
|
|
100
|
+
│ │ ├── filter-blank.ts # 空白节点过滤
|
|
101
|
+
│ │ ├── text-style.ts # 文本样式处理
|
|
102
|
+
│ │ └── util.ts # 工具函数
|
|
103
|
+
│ └── utils/ # 工具函数
|
|
104
|
+
├── manifest.json # 插件配置文件
|
|
105
|
+
├── package.json
|
|
106
|
+
├── webpack.config.js # Webpack 配置
|
|
107
|
+
├── webpack.cjs.config.js # CommonJS 构建配置
|
|
108
|
+
└── tsconfig.json
|
|
109
|
+
|
|
110
|
+
依赖共享包:
|
|
111
|
+
├── @sloth-d2c/web # 核心转码库
|
|
112
|
+
├── @sloth-d2c/history # 历史记录管理
|
|
113
|
+
└── @sloth-d2c/shared-types # 类型定义
|
|
70
114
|
```
|
|
71
115
|
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
之后在 `src/pages` 中的任何位置,可以通过 `await emitToFigma('storage.get', params)` 的方式调用此方法并获取响应值。
|
|
75
|
-
|
|
76
|
-
### 打包发布
|
|
116
|
+
### 本地开发
|
|
77
117
|
|
|
78
|
-
|
|
118
|
+
1. **启动开发模式**
|
|
79
119
|
|
|
80
120
|
```bash
|
|
81
|
-
|
|
82
|
-
|
|
121
|
+
# 在项目根目录
|
|
122
|
+
pnpm dev:figma
|
|
83
123
|
|
|
84
|
-
|
|
124
|
+
# 或只启动插件开发
|
|
125
|
+
cd apps/figma
|
|
126
|
+
pnpm dev:plugin
|
|
85
127
|
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
## 避坑指南
|
|
128
|
+
# 同时启动 Web 开发服务器(用于调试 UI)
|
|
129
|
+
pnpm dev:web
|
|
130
|
+
```
|
|
91
131
|
|
|
92
|
-
|
|
132
|
+
2. **热更新**
|
|
93
133
|
|
|
94
|
-
|
|
134
|
+
开发模式下,修改代码会自动重新构建。在 Figma 中需要手动重新运行插件以加载最新代码。
|
|
95
135
|
|
|
96
|
-
|
|
136
|
+
3. **调试技巧**
|
|
97
137
|
|
|
98
|
-
|
|
138
|
+
```typescript
|
|
139
|
+
// 在插件代码中使用 console.log
|
|
140
|
+
console.log('Debug info:', data)
|
|
99
141
|
|
|
100
|
-
|
|
142
|
+
// 在 UI 代码中,日志会显示在浏览器控制台
|
|
143
|
+
// Figma Desktop: 右键插件窗口 → Inspect
|
|
144
|
+
```
|
|
101
145
|
|
|
102
|
-
|
|
146
|
+
### 构建和打包
|
|
103
147
|
|
|
104
|
-
|
|
148
|
+
```bash
|
|
149
|
+
# 构建
|
|
150
|
+
pnpm build
|
|
105
151
|
|
|
106
|
-
|
|
152
|
+
# Node.js 库构建(用于 MCP 服务)
|
|
153
|
+
pnpm build:lib:node
|
|
154
|
+
```
|
|
107
155
|
|
|
108
|
-
|
|
156
|
+
**Sloth D2C Figma 插件** - 让设计稿转代码变得简单高效 🚀
|