0.0.14 • Published 1 year ago
figma-export-tailwind-font-size v0.0.14
figma-export-tailwind-font-size
Command line script to export text styles from Figma as an object that is generated from the plugin tailwind-css-font-size-generator that you can spread in your tailwind.config file.
Features
- No more manually writing the text styles in your codebase!
- Use in combination with the tailwind-css-font-size-generator Figma plugin to make life easy.
- Export font size styles from figma into your codebase with a single command.
Installation
Install the cli globally so you can use it in any directory
npm install -g figma-export-tailwind-font-sizeOr install it in your project
npm install -D figma-export-tailwind-font-sizeUsage
Create a figma-export-config.json file in the root directory with the following structure
{
"figmaPersonalToken": "YOUR_PERSONAL_TOKEN",
// File id can be found in the url of the figma file
// E.g https://www.figma.com/design/[FILE_ID]/
"fileId": "FILE_ID",
// The page name
"fontSizePage": "Typography",
// Array of the frame names on the page where the font sizes are grouped by
"fontSizeFrames": ["primary", "secondary-bold", "secondary-regular"],
"fontSizeExportDirectory": "constants",
"fontSizeExportFileName": "fontSize",
"typescript": true,
}If you have installed the module globally:
$ export-font-sizeIf you have installed it locally:
Create a script in your package.json
scripts: {
'export-font-size': 'export-font-size'
}and run
npm run export-font-sizeOR
run it directly with:
npx export-font-sizeExample of an exported file as fontSize.js
module.exports.fontSize = {
"sm-primary": [
"0.875rem",
{
lineHeight: "112%",
letterSpacing: "0rem",
fontWeight: "400",
},
],
"base-primary": [
"1rem",
{
lineHeight: "112%",
letterSpacing: "0rem",
fontWeight: "400",
},
],
"lg-primary": [
"1.125rem",
{
lineHeight: "112%",
letterSpacing: "0rem",
fontWeight: "400",
},
],
// etc...
};Example of an exported file as fontSize.ts
export const fontSize = {
"sm-primary": [
"0.875rem",
{
lineHeight: "112%",
letterSpacing: "0rem",
fontWeight: "400",
},
],
"base-primary": [
"1rem",
{
lineHeight: "112%",
letterSpacing: "0rem",
fontWeight: "400",
},
],
"lg-primary": [
"1.125rem",
{
lineHeight: "112%",
letterSpacing: "0rem",
fontWeight: "400",
},
],
// etc...
};In your tailwind.config you spread the exported fontSize object
import type { Config } from "tailwindcss";
import { fontSize } from "./constants/fontSize";
const tFontSize = fontSize as Config["theme"];
const config: Config = {
theme: {
fontSize: {
...tFontSize,
},
},
};This package was developed as a tool to improve the DX at Bravoure