当前位置: 首页 > news >正文

Storybook Design Token实战教程:构建美观的设计系统文档

Storybook Design Token实战教程:构建美观的设计系统文档

【免费下载链接】storybook-design-tokenDisplay design token documentation generated from your stylesheets and icon files. Preview design token changes in the browser. Add your design tokens to your Storybook Docs pages using the custom Doc Blocks.项目地址: https://gitcode.com/gh_mirrors/st/storybook-design-token

Storybook Design Token是一款强大的Storybook插件,能够从样式表和图标文件中生成设计令牌文档,让你在浏览器中预览设计令牌变更,并通过自定义文档块将设计令牌添加到Storybook Docs页面中,轻松构建专业的设计系统文档。

为什么选择Storybook Design Token?

在现代前端开发中,设计系统的一致性至关重要。Storybook Design Token作为一款优秀的Storybook插件,为设计系统文档提供了全面的解决方案。它支持多种样式文件格式,包括CSS、SCSS、LESS等,能够自动解析其中的设计令牌,并以直观的方式展示出来。

这款插件不仅能够帮助团队更好地管理设计令牌,还能提高设计与开发之间的协作效率。通过Storybook Design Token,设计师和开发人员可以共享同一套设计令牌,确保产品在不同平台和设备上的视觉一致性。

快速开始:安装与基本配置

安装插件

首先,使用npm或yarn安装Storybook Design Token插件:

$ yarn add --dev storybook-design-token # 或 $ npm add --save-dev storybook-design-token

添加到Storybook配置

将插件添加到你的Storybook配置文件.storybook/main.js中:

export default { addons: ['storybook-design-token'] };

标注设计令牌

在样式表中添加特殊的注释块来标注设计令牌的类别和展示器。以下是一个CSS样式表示例,定义了三个类别("Animations"、"Colors"、"Others"):

:root { /** * @tokens Animations * @presenter Animation */ --animation-rotate: rotate 1.2s infinite cubic-bezier(0.55, 0, 0.1, 1); /** * @tokens Colors * @presenter Color */ --b100: hsl(240, 100%, 90%); /* Token Description Example @presenter Color */ --b200: hsl(240, 100%, 80%); --b300: hsl(240, 100%, 70%); /** * @tokens Others */ --border-normal: 3px dashed red; /* Token Description Example @presenter BorderRadius */ }

展示器(presenter)控制令牌预览的呈现方式。如果不需要预览或没有适合的展示器,可以省略展示器定义。

探索强大的展示功能

卡片视图与表格视图

Storybook Design Token提供了两种主要的令牌展示方式:卡片视图和表格视图。你可以根据需要在两种视图之间切换,以获得最佳的展示效果。

卡片视图以直观的卡片形式展示每个设计令牌,适合快速浏览和视觉识别。每个卡片显示令牌名称、值和预览效果,让你一目了然地了解每个令牌的外观。

表格视图则以结构化的方式展示令牌信息,适合需要详细查看令牌属性的场景。表格包含令牌名称、值和预览列,便于比较和分析不同令牌之间的关系。

丰富的展示器类型

Storybook Design Token提供了多种展示器,用于不同类型的设计令牌:

  • Animation: 展示动画效果
  • Border: 展示边框样式
  • BorderRadius: 展示边框圆角效果
  • Color: 展示颜色预览
  • Easing: 展示缓动函数
  • FontFamily: 展示字体家族
  • FontSize: 展示字体大小
  • FontWeight: 展示字体粗细
  • LetterSpacing: 展示字母间距
  • LineHeight: 展示行高
  • Opacity: 展示透明度
  • Shadow: 展示阴影效果
  • Spacing: 展示间距大小

这些展示器能够根据令牌的类型,以最直观的方式展示其效果,帮助团队成员更好地理解和使用设计令牌。

高级配置:定制你的设计系统文档

默认标签设置

你可以指定插件面板中显示的默认标签,将其设置为相应的类别名称:

// .storybook/preview.js export default { parameters: { designToken: { defaultTab: 'Colors' } } };

可见标签控制

如果你不想显示所有可用标签,可以通过tabs设置指定要在插件面板中显示的标签:

export default { parameters: { designToken: { tabs: ['Colors'] } } };

样式注入

为了注入设计令牌文档所需的样式,可以使用styleInjection参数。一个典型的用例是字体家族令牌所需的网络字体:

// .storybook/preview.js export default { parameters: { designToken: { styleInjection: '@import url("https://fonts.googleapis.com/css2?family=Open+Sans&display=swap");' } } };

自定义令牌文件路径

默认情况下,插件会解析代码库中所有的.css.scss.less.svg.jpeg.png.gif文件,以查找带注释的设计令牌。如果你只想解析特定文件,可以通过DESIGN_TOKEN_GLOB环境变量或main.js中的选项传递一个glob模式:

DESIGN_TOKEN_GLOB=**/*.tokens.{css,scss,less,svg}

设计令牌文档块:打造专业文档

Storybook Design Token附带了一个自定义的Storybook文档块,允许你在文档页面中显示设计令牌文档。

基本用法

// colors.stories.mdx import { DesignTokenDocBlock } from 'storybook-design-token'; <DesignTokenDocBlock categoryName="Colors" maxHeight={600} viewType="card" />;

categoryName参数引用你的令牌类别名称(样式表注释中@tokens后面的部分)。viewType参数可以设置为cardtable,以在两种展示方式之间切换。

字体排版文档示例

下面是一个展示字体排版相关令牌的文档块示例:

// typography.stories.mdx import { DesignTokenDocBlock } from 'storybook-design-token'; <DesignTokenDocBlock categoryName="Typography" maxHeight={600} viewType="table" />;

自定义展示器

DesignTokenDocBlock组件允许你使用自定义展示器。你可以创建新的展示器或覆盖现有的展示器:

import React from 'react'; export function CircleColorPresenter({ token }) { return ( <div style={{ width: 30, height: 30, borderRadius: '50%', background: token.value }} ></div> ); }
import { DesignTokenDocBlock } from 'storybook-design-token'; import { CircleColorPresenter } from './CircleColorPresenter'; <DesignTokenDocBlock categoryName="Colors" viewType="card" presenters={{ Color: CircleColorPresenter }} />;

令牌使用地图

你可以为DesignTokenDocBlock组件提供一个usageMap,以显示每个令牌在组件中的使用位置:

<DesignTokenDocBlock categoryName="Colors" usageMap={{ '--b100': ['Button', 'CardHeader'], '--b200': ['Modal'] }} />

当提供usageMap时,用户可以在表格视图中右键单击令牌行,打开一个模态框,显示使用该令牌的组件列表。

总结

Storybook Design Token是构建专业设计系统文档的强大工具。它不仅能够帮助团队更好地管理和展示设计令牌,还能提高设计与开发之间的协作效率。通过本教程,你已经了解了如何安装、配置和使用Storybook Design Token,以及如何利用其高级功能来定制你的设计系统文档。

无论你是设计师还是开发人员,Storybook Design Token都能为你的项目带来巨大的价值。开始使用它,打造出令人印象深刻的设计系统文档吧!

要开始使用Storybook Design Token,只需克隆仓库并按照上述步骤进行配置:

git clone https://gitcode.com/gh_mirrors/st/storybook-design-token

祝你的设计系统文档之旅愉快! 🚀

【免费下载链接】storybook-design-tokenDisplay design token documentation generated from your stylesheets and icon files. Preview design token changes in the browser. Add your design tokens to your Storybook Docs pages using the custom Doc Blocks.项目地址: https://gitcode.com/gh_mirrors/st/storybook-design-token

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

http://www.jsqmd.com/news/1367488/

相关文章:

  • MyTonWallet交易历史和报表功能:跟踪你的加密资产流动
  • stm32f4xx-hal性能调优:提升STM32F429微控制器的嵌入式系统效率
  • 拱墅企业财税托管优选!乐盈财税凭硬核实力打造一站式合规服务 - 一知资讯
  • 找对阳泉质量好的住宅装修源头公司在此阳泉市铭居装饰有限公司(阳泉服务中心) - 品牌优推
  • 深入解析微信数据库解密技术:从WechatBakTool看数据安全与隐私保护的平衡之道
  • 深度解析OmenSuperHub:惠普游戏本硬件性能调优与风扇控制实战指南
  • 杭州学历提升正规机构推荐——公办直属优秀函授站详解,24年只做学历提升 - 行业观察网
  • 快速掌握C#语言基础知识点(13.语句)
  • Multi-Agent Custom Automation Engine Solution Accelerator部署常见问题与解决方案:新手也能轻松搞定
  • discord-example-app示例代码详解:button.js与modal.js交互组件开发指南
  • 广州弱电电工培训机构哪家专业:北区教育治学严谨 - 思溯深度专栏
  • 2026年腰带品牌推荐**,女士腰带/编织腰带/户外腰带/男士腰带/帆布腰带优质品牌优选! - 甄选测评官
  • 2026 陕西软化水设备产业观察:西安国晟环保水处理设备优势解读 - 深度智识库
  • 如何快速获取中小学电子课本:tchMaterial-parser下载工具终极指南
  • 小微企业主选 福州短视频拍摄剪辑公司推荐 退退退,预算 3 万内怎样避坑不踩雷 - 优企甄选
  • Brother DCP-L2540DW实战:brlaser驱动配置与优化教程
  • cfworker性能优化指南:打造轻量级Service Workers应用
  • FDE前沿部署工程师到底是个什么岗位——为什么企业都在急着招这类AI人才
  • LiDAR-MOS基准测试全攻略:如何在SemanticKITTI排行榜提升成绩?
  • 5分钟掌握跨平台资源下载神器:res-downloader终极使用指南
  • GeekIt 极客在线工具箱 V2.3.0 正式发布,增加一整套PDF工具箱
  • Scirius用户权限管理:如何为团队定制安全的规则管理工作流
  • 图像编辑革命:Qwen-Image-Layered如何实现3步高效图层分解
  • 廊坊单面铝箔玻璃棉板直销厂商选哪家?2026认准廊坊振维节能科技有限公司(廊坊服务中心) - 品牌优推
  • 如何从零开始参与开源硬件?Awesome Open Hardware新手入门必备教程
  • 【单片机毕业设计推荐】基于 STM32 的环境温湿度水位智能监测控制系统设计与实现 基于 STM32 的带语音播报的加湿供水智能监控装置设计(011606)
  • 如何在终端中优雅记录生活?TUI-Journal完整入门指南
  • 广州弱电电工培训机构推荐:北区教育经验丰富 - 思溯深度专栏
  • 2026冲压自动化选型避坑指南:昆山汇欣德如何破解无人化技改难题? - 兔兔不是荼荼
  • React 全栈开发与现代 CSS 动画实践:一次失败实验能说明什么