Spectra
Keep app-specific colors in-sync across all your tools with a single specification!
Spectra is a Ruby DSL for generating color palettes (.clr), Objective-C categories, and Swift extensions. Define a spectrum.rb file, run spectra generate
, and your color files synchronize!
Using the DSL: spectrum.rb
Specifying a class/method prefix (required):
prefix :spc # subsitute your desired prefix
Specifying output formats (optional, defaults to :palette
and :objc
):
## if you don't care about options
formats :palette, :swift
## if you want to specify the output directory
format :objc, 'path/to/categories'
## if you want to customize the method/color names
format :swift, 'path/to/extensions' do |color, prefix|
color.name.camelize(true) + color.suffix # CoolBlue2
end
Specifying colors (technically optional, but hey...):
color :red, (components 255, 0, 130)
color :gray, (hex 0xEEEEEE, 0.6)
color :white, (white 1.0)
color :overlay (components 0.8, 0.7, 0.2, 0.75)
## alternate syntax
color :red, red: 255, blue: 130
color :gray, hex: 0xEEEEEE, a: 0.6
color :white, w: 1.0
color :overlay, r: 0.8, g: 0.7, b: 0.2, a: 0.75
Installation
Spectra is published as a Rubygem. Install with gem
:
gem install spectra
Or bundler
:
gem 'spectra', '~> 0.1'