UNPKG

1.66 kBJavaScriptView Raw
1var extname = require('path').extname
2var d3 = require('d3')
3
4var schemes = []
5
6var original = {
7 name: 'Original'
8 , background: '#6A4A3C'
9 , specials: {
10 node_modules: '#FF8553'
11 }
12 , main: [
13 '#00A0B0'
14 , '#CC333F'
15 , '#EB6841'
16 , '#EDC951'
17 ]
18}
19
20original.main = []
21 .concat(original.main.map(lighten(0.7)))
22 .concat(original.main.map(lighten(1.4)))
23 .concat(original.main.map(lighten(2.0)))
24
25var highlights = {
26 name: 'Structure Highlights'
27 , background: '#1A1C1E'
28 , specials: {
29 node_modules: '#E1F200'
30 , lib: '#FF9D3C'
31 }
32 , main: [
33 '#8E99A4'
34 , '#F7F7F7'
35 , '#6C747C'
36 ]
37}
38
39var pastel = {
40 name: 'Pastel'
41 , background: '#362F34'
42 , specials: {}
43 , main: [
44 '#D05931'
45 , '#3E8FE9'
46 , '#2AB256'
47 , '#F8DD3D'
48 ]
49}
50
51pastel.main = []
52 .concat(pastel.main.map(lighten(2.8)))
53 .concat(pastel.main.map(lighten(2)))
54
55var typeScale = d3.scale.ordinal()
56 .range([
57 '#5A5B8F'
58 , '#FFE53D'
59 , '#47F0FF'
60 , '#CD6FF2'
61 , '#EB6E6A'
62 , '#EB9D6A'
63 , '#528AF2'
64 ])
65
66var types = {
67 name: 'File Types'
68 , background: '#160F1F'
69 , specials: {}
70 , main: typeScale.range()
71 , modifier: function(color, root) {
72 return typeScale(extname(this.name))
73 }
74}
75
76schemes.push(
77 original
78 , highlights
79 , pastel
80 , types
81)
82
83function lighten(n) {
84 return function(c) {
85 return String(d3.rgb(c).brighter(n))
86 }
87}
88
89function identity(a) {
90 return a
91}
92
93module.exports = schemes.map(function(d) {
94 d.all = d.main.slice()
95
96 Object.keys(d.specials).forEach(function(s) {
97 d.all.push(d.specials[s])
98 })
99
100 d.modifier = d.modifier || identity
101
102 return d
103})