1Solarized
2=========
3
4### [See official homepage for full content](http://ethanschoonover.com/solarized)
5
6## Precision colors for machines and people
7
8[![solarized dualmode](https://github.com/altercation/solarized/raw/master/img/solarized-yinyang.png)](#features)\
9
10
11Solarized is a sixteen color palette (eight monotones, eight accent colors)
12designed for use with terminal and gui applications. It has several [unique
13properties](#features). I designed this colorscheme with both precise
14[CIELAB](http://en.wikipedia.org/wiki/Lab_color_space) lightness relationships
15and a refined set of hues based on fixed color wheel relationships. It has been
16tested extensively in real world use on color calibrated displays (as well as
17uncalibrated/intentionally miscalibrated displays) and in a variety of lighting
18conditions.
19
20![solarized palette](https://github.com/altercation/solarized/raw/master/img/solarized-palette.png)\
21
22Currently available in formats for (cf [screenshots](#screenshots) below):
23
24* **Vim** (the Vim-only portion of Solarized is [available
25here](https://github.com/altercation/vim-colors-solarized), for use with
26Pathogen, etc.)
27* **Mutt** e-mail client (*just* the Mutt colorscheme is [available
28here](https://github.com/altercation/mutt-colors-solarized))
29* **Xresources** / Xdefaults
30* **iTerm2**
31* OS X **Terminal.app**
32* Adobe Photoshop Palette (inc. L\*a\*b values)
33* Apple Color Picker Palette
34* GIMP Palette
35
36Don't see the application you want to use it in? Download the palettes (or pull
37the values from the table below) and create your own. Submit it back and I'll
38happily note the contribution and include it on this page.
39
40**Note:** I am still tweaking the Vim highlighting for specific syntaxes and
41welcome feedback on these.
42
43Download
44--------
45
46### [Click here to download latest version](http://ethanschoonover.com/files/solarized/solarized.tar.gz)
47
48Or use the following links to access application specific downloads and git
49repositories:
50
51*   **Git repo:**
52
53    The full git repository is at: <https://github.com/altercation/solarized>
54    Get it using the following command:
55
56        $ git clone git://github.com/altercation/solarized.git
57
58*   **Vim only:**
59
60    The vim-only colorscheme (Pathogen ready) is available at:
61    <https://github.com/altercation/vim-colors-solarized>.
62
63        $ git clone git://github.com/altercation/vim-colors-solarized.git
64
65    You can also download it from [vim.org](http://www.vim.org/scripts/script.php?script_id=3520).
66
67*   **Mutt only:**
68
69    The mutt-only variants can be cloned from
70    <https://github.com/altercation/mutt-colors-solarized>
71
72        $ git clone git://github.com/altercation/mutt-colors-solarized.git
73
74*   **Canonical Project Page:**
75
76    Downloads, screenshots and more information are always available from the
77    project page: <http://ethanschoonover.com/solarized>
78
79Note that through the magic of
80[git-subtree](https://github.com/apenwarr/git-subtree) these repositories are
81all kept in sync, so you can pull any of them and get the most up-to-date
82version.
83
84Features
85--------
86
871. **Selective contrast**
88
89    On a sunny summer day I love to read a book outside. Not right in the sun;
90    that's too bright. I'll hunt for a shady spot under a tree. The shaded
91    paper contrasts with the crisp text nicely. If you were to actually measure
92    the contrast between the two, you'd find it is much lower than black text
93    on a white background (or white on black) on your display device of choice.
94    Black text on white from a computer display is akin to reading a book in
95    direct sunlight and tires the eye.
96
97    ![solarized selective contrast](https://github.com/altercation/solarized/raw/master/img/solarized-selcon.png)\
98
99    Solarized reduces *brightness contrast* but, unlike many low contrast
100    colorschemes, retains *contrasting hues* (based on colorwheel relations)
101    for syntax highlighting readability.
102
1032. **Both sides of the force**
104
105    ![solarized dualmode](https://github.com/altercation/solarized/raw/master/img/solarized-dualmode.png)\
106
107    I often switch between dark and light modes when editing text and code.
108    Solarized retains the same selective contrast relationships and overall
109    feel when switching between the light and dark background modes. A *lot* of
110    thought, planning and testing has gone into making both modes feel like
111    part of a unified colorscheme.
112
1133. **16/5 palette modes**
114
115    ![solarized palettes](https://github.com/altercation/solarized/raw/master/img/solarized-165.png)\
116
117    Solarized works as a sixteen color palette for compatibility with common
118    terminal based applications / emulators. In addition, it has been carefull
119    designed to scale down to a variety of five color palettes (four base
120    monotones plus one accent color) for use in design work such as web design.
121    In every case it retains a strong personality but doesn't overwhelm.
122
1235.  **Precision, symmetry**
124
125    ![solarized symmetry](https://github.com/altercation/solarized/raw/master/img/solarized-sym.png)\
126
127    The monotones have symmetric CIELAB lightness differences, so switching
128    from dark to light mode retains the same perceived contrast in brightness
129    between each value. Each mode is equally readable. The accent colors are
130    based off specific colorwheel relations and subsequently translated to
131    CIELAB to ensure perceptual uniformity in terms of lightness. The hues
132    themselves, as with the monotone \*a\*b values, have been adjusted within
133    a small range to achieve the most pleasing combination of colors.
134
135    This makes colorscheme inversion trivial. Here, for instance, is a sass
136    (scss) snippet that inverts solarized based on the class of the html tag
137    (e.g. `<html class="dark red">` to give a dark background with red accent):
138
139        $base03:    #002b36;
140        $base02:    #073642;
141        $base01:    #586e75;
142        $base00:    #657b83;
143        $base0:     #839496;
144        $base1:     #93a1a1;
145        $base2:     #eee8d5;
146        $base3:     #fdf6e3;
147        $yellow:    #b58900;
148        $orange:    #cb4b16;
149        $red:       #d30102;
150        $magenta:   #d33682;
151        $violet:    #6c71c4;
152        $blue:      #268bd2;
153        $cyan:      #2aa198;
154        $green:     #859900;
155        @mixin rebase($rebase03,$rebase02,$rebase01,$rebase00,$rebase0,$rebase1,$rebase2,$rebase3)
156        {
157            background-color:$rebase03;
158            color:$rebase0;
159            * { color:$rebase0; }
160            h1,h2,h3,h4,h5,h6 { color:$rebase1; border-color: $rebase0; }
161            a, a:active, a:visited { color: $rebase1; }
162        }
163        @mixin accentize($accent) {
164            a, a:active, a:visited, code.url { color: $accent; }
165            h1,h2,h3,h4,h5,h6 {color:$accent}
166        }
167        /* light is default mode, so pair with general html definition */
168        html, .light { @include rebase($base3,$base2,$base1,$base0,$base00,$base01,$base02,$base03)}
169        .dark  { @include rebase($base03,$base02,$base01,$base00,$base0,$base1,$base2,$base3)}
170        html * {
171            color-profile: sRGB;
172            rendering-intent: auto;
173        }
174
175Installation
176------------
177
178Installation instructions for each version of the colorscheme are included in
179the subdirectory README files. Note that for Vim (and possibly for Mutt) you
180may want to clone the specific repository (for instance if you are using
181Pathogen). See the links at the top of this file.
182
183Font Samples
184------------
185
186Solarized has been designed to handle fonts of various weights and retain
187readability, from the classic Terminus to the beefy Menlo.
188
189![font samples - light](https://github.com/altercation/solarized/raw/master/img/solarized-fontsamples-light.png)
190![font samples - dark](https://github.com/altercation/solarized/raw/master/img/solarized-fontsamples-dark.png)
191
192Clockwise from upper left: Menlo, Letter Gothic, Terminus, Andale Mono
193
194Screenshots
195-----------
196
197Click to view.
198
199### Mutt
200
201[![mutt dark](https://github.com/altercation/solarized/raw/master/img/solarized-screen-mutt-dark-th.png)](https://github.com/altercation/solarized/raw/master/img/solarized-screen-mutt-dark.png)
202[![mutt light](https://github.com/altercation/solarized/raw/master/img/solarized-screen-mutt-light-th.png)](https://github.com/altercation/solarized/raw/master/img/solarized-screen-mutt-light.png)
203
204### C (Vim)
205
206[![c dark](https://github.com/altercation/solarized/raw/master/img/solarized-screen-c-dark-th.png)](https://github.com/altercation/solarized/raw/master/img/solarized-screen-c-dark.png)
207[![c light](https://github.com/altercation/solarized/raw/master/img/solarized-screen-c-light-th.png)](https://github.com/altercation/solarized/raw/master/img/solarized-screen-c-light.png)
208
209### Haskell (Vim)
210
211[![haskell dark](https://github.com/altercation/solarized/raw/master/img/solarized-screen-haskell-dark-th.png)](https://github.com/altercation/solarized/raw/master/img/solarized-screen-haskell-dark.png)
212[![haskell light](https://github.com/altercation/solarized/raw/master/img/solarized-screen-haskell-light-th.png)](https://github.com/altercation/solarized/raw/master/img/solarized-screen-haskell-light.png)
213
214### HTML (Vim)
215
216[![html dark](https://github.com/altercation/solarized/raw/master/img/solarized-screen-html-dark-th.png)](https://github.com/altercation/solarized/raw/master/img/solarized-screen-html-dark.png)
217[![html light](https://github.com/altercation/solarized/raw/master/img/solarized-screen-html-light-th.png)](https://github.com/altercation/solarized/raw/master/img/solarized-screen-html-light.png)
218
219### Java (Vim)
220
221[![java dark](https://github.com/altercation/solarized/raw/master/img/solarized-screen-java-dark-th.png)](https://github.com/altercation/solarized/raw/master/img/solarized-screen-java-dark.png)
222[![java light](https://github.com/altercation/solarized/raw/master/img/solarized-screen-java-light-th.png)](https://github.com/altercation/solarized/raw/master/img/solarized-screen-java-light.png)
223
224### Pandoc Markdown (Vim)
225
226These screen shots show Vim running with my own [Pandoc Kit
227Syntax](/pandockit).
228
229[![pandoc dark](https://github.com/altercation/solarized/raw/master/img/solarized-screen-pandoc-dark-th.png)](https://github.com/altercation/solarized/raw/master/img/solarized-screen-pandoc-dark.png)
230[![pandoc light](https://github.com/altercation/solarized/raw/master/img/solarized-screen-pandoc-light-th.png)](https://github.com/altercation/solarized/raw/master/img/solarized-screen-pandoc-light.png)
231
232### Perl (Vim)
233
234[![perl dark](https://github.com/altercation/solarized/raw/master/img/solarized-screen-perl-dark-th.png)](https://github.com/altercation/solarized/raw/master/img/solarized-screen-perl-dark.png)
235[![perl light](https://github.com/altercation/solarized/raw/master/img/solarized-screen-perl-light-th.png)](https://github.com/altercation/solarized/raw/master/img/solarized-screen-perl-light.png)
236
237### Python (Vim)
238
239[![python dark](https://github.com/altercation/solarized/raw/master/img/solarized-screen-python-dark-th.png)](https://github.com/altercation/solarized/raw/master/img/solarized-screen-python-dark.png)
240[![python light](https://github.com/altercation/solarized/raw/master/img/solarized-screen-python-light-th.png)](https://github.com/altercation/solarized/raw/master/img/solarized-screen-python-light.png)
241
242### Ruby (Vim)
243
244[![ruby dark](https://github.com/altercation/solarized/raw/master/img/solarized-screen-ruby-dark-th.png)](https://github.com/altercation/solarized/raw/master/img/solarized-screen-ruby-dark.png)
245[![ruby light](https://github.com/altercation/solarized/raw/master/img/solarized-screen-ruby-light-th.png)](https://github.com/altercation/solarized/raw/master/img/solarized-screen-ruby-light.png)
246
247### TeX (Vim)
248
249[![tex dark](https://github.com/altercation/solarized/raw/master/img/solarized-screen-tex-dark-th.png)](https://github.com/altercation/solarized/raw/master/img/solarized-screen-tex-dark.png)
250[![tex light](https://github.com/altercation/solarized/raw/master/img/solarized-screen-tex-light-th.png)](https://github.com/altercation/solarized/raw/master/img/solarized-screen-tex-light.png)
251
252
253The Values
254----------
255
256L\*a\*b values are canonical (White D65, Reference D50), other values are
257matched in sRGB space.
258
259    SOLARIZED HEX     16/8 TERMCOL  XTERM/HEX   L*A*B      RGB         HSB
260    --------- ------- ---- -------  ----------- ---------- ----------- -----------
261    base03    #002b36  8/4 brblack  234 #1c1c1c 15 -12 -12   0  43  54 193 100  21
262    base02    #073642  0/4 black    235 #262626 20 -12 -12   7  54  66 192  90  26
263    base01    #586e75 10/7 brgreen  240 #585858 45 -07 -07  88 110 117 194  25  46
264    base00    #657b83 11/7 bryellow 241 #626262 50 -07 -07 101 123 131 195  23  51
265    base0     #839496 12/6 brblue   244 #808080 60 -06 -03 131 148 150 186  13  59
266    base1     #93a1a1 14/4 brcyan   245 #8a8a8a 65 -05 -02 147 161 161 180   9  63
267    base2     #eee8d5  7/7 white    254 #e4e4e4 92 -00  10 238 232 213  44  11  93
268    base3     #fdf6e3 15/7 brwhite  230 #ffffd7 97  00  10 253 246 227  44  10  99
269    yellow    #b58900  3/3 yellow   136 #af8700 60  10  65 181 137   0  45 100  71
270    orange    #cb4b16  9/3 brred    166 #d75f00 50  50  55 203  75  22  18  89  80
271    red       #dc322f  1/1 red      160 #d70000 50  65  45 220  50  47   1  79  86
272    magenta   #d33682  5/5 magenta  125 #af005f 50  65 -05 211  54 130 331  74  83
273    violet    #6c71c4 13/5 brmagenta 61 #5f5faf 50  15 -45 108 113 196 237  45  77
274    blue      #268bd2  4/4 blue      33 #0087ff 55 -10 -45  38 139 210 205  82  82
275    cyan      #2aa198  6/6 cyan      37 #00afaf 60 -35 -05  42 161 152 175  74  63
276    green     #859900  2/2 green     64 #5f8700 60 -20  65 133 153   0  68 100  60
277
278