All Projects → Specifyapp → parsers

Specifyapp / parsers

Licence: other
Specify is a central platform for companies who want to unify their brand identity, by connecting their design system tools.

Programming Languages

typescript
32286 projects

Projects that are alternatives of or similar to parsers

themekit
Build system of design-tokens for any platforms
Stars: ✭ 60 (+20%)
Mutual labels:  design-tokens, design-system, style-dictionary
stitchwind
A bridge between Tailwind and Stitches
Stars: ✭ 33 (-34%)
Mutual labels:  design-tokens, design-system, tailwindcss
Theme Ui
Build consistent, themeable React apps based on constraint-based design principles
Stars: ✭ 4,150 (+8200%)
Mutual labels:  design-tokens, design-system
React Native Design Utility
Utility for building design system in react-native. Idea from TailwindCSS
Stars: ✭ 116 (+132%)
Mutual labels:  design-system, tailwindcss
Scale
The Scale library offers a set of customizable web components written with Stencil.js & TypeScript. The default theme of the library can be easily replaced so that a corresponding corporate identity of a dedicated brand can be represented.
Stars: ✭ 87 (+74%)
Mutual labels:  jss, design-system
theme-ui-native
Build consistent, themeable React Native apps based on constraint-based design principles
Stars: ✭ 67 (+34%)
Mutual labels:  design-tokens, design-system
postcss-theme-ui
PostCSS plugin for accessing Theme UI variables
Stars: ✭ 22 (-56%)
Mutual labels:  design-tokens, theme-ui
gatsby-starter-specimens
Leverage the wide variety of powerful React components to build your design system. Display colors, typography or any other design tokens with ease. Works seamlessly with MDX.
Stars: ✭ 35 (-30%)
Mutual labels:  design-system, theme-ui
starter-simba
Lion-based Design System
Stars: ✭ 18 (-64%)
Mutual labels:  design-system, tailwindcss
angular-authentication
An Angular application that demonstrates best practices for user authentication & authorization flows.
Stars: ✭ 122 (+144%)
Mutual labels:  tailwindcss
cadhub
We're out to raise awareness and put CodeCAD on the map. The success of CadHub can be measured by the amount it promotes the use of CodeCAD within the mechanical/manufacturing industry and the strength the CadHub community.
Stars: ✭ 204 (+308%)
Mutual labels:  tailwindcss
wave
Wave - The Software as a Service Starter Kit, designed to help you build the SAAS of your dreams 🚀 💰
Stars: ✭ 3,646 (+7192%)
Mutual labels:  tailwindcss
vite-ts-tailwind-starter
Opinionated Vite + Vue 3 + TypeScript + Tailwind CSS starter template w/ tests and CI.
Stars: ✭ 228 (+356%)
Mutual labels:  tailwindcss
wagtail-react-blog
SPA built with React, Tailwind CSS and Wagtail Rest API
Stars: ✭ 66 (+32%)
Mutual labels:  tailwindcss
tailwindcss-postcss-browsersync-boilerplate
Tailwind CSS + PostCSS + BrowserSync boilerplate
Stars: ✭ 28 (-44%)
Mutual labels:  tailwindcss
Minimalist-Blog
Tailwind CSS Starter Template - Minimalist Blog
Stars: ✭ 21 (-58%)
Mutual labels:  tailwindcss
variantwind
Most elegant way to work with TailwindCSS variants in Vue
Stars: ✭ 45 (-10%)
Mutual labels:  tailwindcss
design-system
👾 A Design System for the French Health Insurance
Stars: ✭ 28 (-44%)
Mutual labels:  design-system
sveltober
Cybernetically enhanced October applications
Stars: ✭ 19 (-62%)
Mutual labels:  tailwindcss
middleman starter kit
Middleman front-end starter kit
Stars: ✭ 19 (-62%)
Mutual labels:  tailwindcss

contributions welcome GitHub Workflow Status Coverage Status Language grade: JavaScript Total alerts Contributors

Specify Parsers

Repository Header

What is Specify?

Specify helps you unify your brand identity by collecting, storing and distributing design tokens and assets—automatically.

Possibilities offered by design apis like specify Possibilities offered by design apis like specify

Parsers

Why you need parsers

By default, without any parsers, Specify will return your design data as raw data:

  • Design tokens are returned in JSON
  • Assets are returned as files

Parsers help you transform design data coming from Specify to make it work with your environment.

What are parsers?

Parsers are functions allowing you to transform design tokens and assets you get from Specify's API.

How parsers work How parsers work

A parser does the following job:

  1. Receives design data as input
  2. Transforms this design data
  3. Returns the transformed data

The data returned by a parser can either be:

  • Design data that can be used by another parser coming next in your transformation pipeline
  • A file so it can be used by people, frameworks, or scripts

Not only parsers are what make Specify powerful and flexible, but above all, they help you be in total control of the design data you synchronize.

Parsers are ordered and takes specific input to generate specific output. This way, we can easily test the input coming from the previous parser to check if the whole parsers process will work.

All parsers available

Parser Description Usage example
camelcasify Apply camelcase function on specific keys from a design token. See usage example
convert-font Convert font files in several formats. See usage example
filter Filter tokens and assets by their name using a regular expression. See usage example
kebabcasify Apply kebabcase function on specific keys from a design token. See usage example
link-design-tokens Have design tokens referencing other ones. It replaces absolute values by their potential corresponding design token. See usage example
name-assets-files-by-pattern Set a structured filename on your assets. It won't rename your asset but only add a new filename property on the asset object. The filename structure uses mustache as a template engine. See usage example
omit Omit keys from a design token not given in parameters. See usage example
pascalcasify Apply pascalcase function on specific keys from a design token. See usage example
pick Get only specific keys from a design token given in params. See usage example
px-to-rem Convert the value of a measurement design token from pixel to rem. See usage example
replace-string Replace any string matched by a regex by a new string. See usage example
round-number Round any measurement design token with specific precision. See usage example
snakecasify Apply snakecase function on specific keys from a design token. See usage example
sort-by Loop on several design tokens and sort them according to their respective key values. See usage example
suffix-by Concatenate two strings. See usage example
svg-to-jsx Wrap SVG files within a JSX component. See usage example
svgo Optimize vectors using svgo. See usage example
to-css-custom-properties Transform design tokens in CSS Custom Properties. See usage example
to-css-font-import Create CSS @font-face rules to import your font files. See usage example
to-css-text-style Create text styles as CSS classes. See usage example
to-dsp Create a Design System Package (DSP). See usage example
to-jss Transform design tokens in JSS. See usage example
to-react-native Transform design tokens to a JavaScript theme object compatible with React Native. See usage example
to-scss-map Generate .scss files containing Scss map and function / mixin to access the values of the tokens. See usage example
to-scss-mixin-text-style Create text styles formatted as SCSS mixins. See usage example
to-style-dictionary Generate Style Dictionary configuration files for all your design tokens coming from Specify. See usage example
to-tailwind Create a theme compatible with the TailwindCSS specification. The theme is also compatible with WindiCSS. See usage example
to-theme-ui Create a theme compatible with the theme-ui specification. See usage example

How to create your own parser?

Let's say you want to create a parser named my-parser.

  1. Fork the current repository
  2. Git clone the forked repository
  3. In the directory parsers, create a directory named my-parser
  4. Create your valid parser
  5. Make a PR

Creating a valid parser

To be valid, your parser needs:

Usable libraries

For now, our parsers only use the following libraries:

If you need another library to develop your parser:

  1. Install it using yarn or npm
  2. Import and export it in the parsers/global-libs.ts file

Testing

To easily create and test your parsers, we advise you to use them on design tokens provided in the seeds.json file. It will allow you to use our fake tokens to test your parsers.

To use our design tokens seed:

  1. Import it in your [parser].spec.ts using import * as seeds from '../../seeds.json';
  2. Use the seeds.tokens variable according to your needs.
  3. Launch yarn test to tests your parsers
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].