All Projects â†’ GettEngineering â†’ Prism

GettEngineering / Prism

Licence: mit
Gett's Design System code generator. Use Zeplin Styleguides as your R&D's Single Source of Truth.

Programming Languages

swift
15916 projects

Projects that are alternatives of or similar to Prism

React Color Tools
A set of tools as React components for working with colors ðŸŽĻ
Stars: ✭ 87 (-71.75%)
Mutual labels:  design, design-systems, design-tools
Awesome Design Tools
The best design tools and plugins for everything 👉
Stars: ✭ 23,754 (+7612.34%)
Mutual labels:  design, design-systems, design-tools
Html Sketchapp Cli
Quickly generate Sketch libraries from HTML documents and living style guides, powered by html-sketchapp
Stars: ✭ 631 (+104.87%)
Mutual labels:  design, design-systems, design-tools
Tachyons Verbose
Functional CSS for humans. Verbose edition.
Stars: ✭ 102 (-66.88%)
Mutual labels:  design, design-systems, design-tools
Tachyons
Functional css for humans
Stars: ✭ 11,057 (+3489.94%)
Mutual labels:  design, design-systems, design-tools
Awesome Design Systems
A curated list of bookmarks, resources and articles about design systems focused on developers.
Stars: ✭ 222 (-27.92%)
Mutual labels:  design, design-system, design-systems
Argon Design System
Argon - Design System for Bootstrap 4 by Creative Tim
Stars: ✭ 2,307 (+649.03%)
Mutual labels:  design, design-system, design-systems
Welcome Ui
Customizable design system of @wttj with react â€Ē styled-components â€Ē styled-system â€Ē reakit
Stars: ✭ 256 (-16.88%)
Mutual labels:  design, design-system, design-systems
farbvelo
"Random" color palette generator, cycles
Stars: ✭ 52 (-83.12%)
Mutual labels:  design-tools, design-system
sketch wireframing kit
Quick Sketchapp wireframing tool for UK government digital services
Stars: ✭ 74 (-75.97%)
Mutual labels:  design-systems, design-system
helsinki-design-system
Components, principles, documentation and templates for the City of Helsinki design system.
Stars: ✭ 82 (-73.38%)
Mutual labels:  design-systems, design-system
playbook
Playbook Design System
Stars: ✭ 17 (-94.48%)
Mutual labels:  design-systems, design-system
shared-react-components-example
An example of a mono-repository of shared React components libraries!
Stars: ✭ 85 (-72.4%)
Mutual labels:  design-systems, design-system
Design-Resources
A curated list of design resources from design templates, stock photos, icons, colors, and much more.
Stars: ✭ 943 (+206.17%)
Mutual labels:  design-tools, design-system
salsa
A tool for exporting iOS components into Sketch ðŸ“ąðŸ’Ž
Stars: ✭ 62 (-79.87%)
Mutual labels:  design-systems, design-tools
plasmic
Visual page builder and web design tool for any website or web app tech stack
Stars: ✭ 1,475 (+378.9%)
Mutual labels:  design-systems, design-tools
design-patterns-for-humans-cn
Design patterns for humans äļ­æ–‡į‰ˆ - åŊđčŪūčŪĄæĻĄåžčķ…įŪ€å•įš„č§Ģ释
Stars: ✭ 2,432 (+689.61%)
Mutual labels:  design, design-tools
design-systems
A list of famous design systems, design languages and guidelines
Stars: ✭ 403 (+30.84%)
Mutual labels:  design-systems, design-system
pebble
Pebble Design System
Stars: ✭ 14 (-95.45%)
Mutual labels:  design-systems, design-system
meetup
For organizing the design systems meetup in NYC.
Stars: ✭ 23 (-92.53%)
Mutual labels:  design, design-systems

Prism: Design System Code Generator logo
Build Status Code Coverage for Prism on codecov Swift Package Manager Support

Prism is a Design System code generator developed by the team at Gett 🚕.

Synchronizing design teams with engineering teams is a huge challenge.

As teams scale, new growing pains start around how to properly align colors, text styles, spacing and other design details between teams, in a uniform way, from a single source of truth.

Prism was built to solve this very problem! It takes a Zeplin project or styleguide as input, and generates any output code you want from these based on a set of templates in your project, resulting in cross-platform code that is always synchronized from a single source-of-truth (Your project's Zeplin Styleguide or Project).

Prism is especially useful when used in your CI/CD process to remove the friction of design handoff and review, and making sure all of your teams are properly synchronized in regards to naming, values, and more.

Getting Started

ðŸ“đ Videos

🌈 Getting Prism

There are five options to install prism:

  1. Install with Homebrew: brew install GettEngineering/tap/prism
  2. Install using Mint: mint install GettEngineering/Prism
  3. Build from source: make install
  4. Run directly with SPM: swift run prism generate
  5. Running on Windows (experimental)

🔑 Getting a Zeplin API Token

To use Prism, you'll need to generate a Personal Access Token (JWT) to Zeplin's API by going to https://app.zeplin.io/profile/developer and click the Create new token button in the Personal access tokens section:

Generating a Zeplin Personal Access Token

You'll need to expose this token to run the prism CLI tool. Make sure you have a ZEPLIN_TOKEN environment variable with your token configured.

When running prism in a CI environemnt, we recommend adding ZEPLIN_TOKEN as an Environment Secret.

When using prism locally or bootstrapping your project for the first time, you can simply run export ZEPLIN_TOKEN='zeplin_personal_token' before running prism locally.

ðŸ‘Ē Bootstrap Prism for your Project

Inside your project folder, run prism init.

It will guide you through selecting a Zeplin project or styleguide as source along with other useful information for proper code generation. Once prism init is successful, you'll find a new .prism folder with a config.yml file outlining your preferences.

ðŸŽĻ Creating Templates

Prism uses templates with the .prism suffix located in your project's .prism folder. These Prism templates are basically plain text files — Prism doesn't really care what format or language you use, it can make any kind of output as long as you can express it in a Prism template file.

Prism looks for something called Tokens inside your templates. These tokens follow the following format: {{%token%}}. You can find a couple of sample templates in the Examples folder.

Here are two short example of generating colors code for iOS and Android using Prism templates.

Colors.swift.prism:

Color.swift iOS Prism Template

colors.xml.prism:

Color.swift Android Prism Template

Running on Windows (Experimental)

Due to the official release of Swift for Windows, an experimental build of prism is now available for Windows.

You'll need to install a few dependencies before running for the first time:

Note: Building from source is somewhat more involved. Let me know if you're interested in doing so and I'll do my best to assist.

Development

  • Run make or make install to build a release binary of the prism CLI tool and install it to /usr/local/bin.
  • Run make build to build a release binary of the prism CLI tool
  • Run make project to create an Xcode project and start working.
  • Run make test to run all tests.
  • Run make clean to clear the generated Xcode project.
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].