colorly 0.0.1 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +129 -3
- data/lib/colorly/command.rb +21 -13
- data/lib/colorly/data/color-names.yml +1640 -0
- data/lib/colorly/dsl.rb +25 -0
- data/lib/colorly/exceptions.rb +19 -0
- data/lib/colorly/extensions/chroma_color.rb +25 -1662
- data/lib/colorly/refinements/string.rb +38 -0
- data/lib/colorly/script.rb +27 -23
- data/lib/colorly/templates/html.erb +18 -11
- data/lib/colorly/version.rb +1 -1
- data/lib/colorly.rb +10 -0
- metadata +9 -7
- data/lib/colorly/extensions/string.rb +0 -27
@@ -0,0 +1,38 @@
|
|
1
|
+
require 'chroma'
|
2
|
+
|
3
|
+
module StringRefinements
|
4
|
+
refine String do
|
5
|
+
def spin(*args)
|
6
|
+
paint.spin *args
|
7
|
+
end
|
8
|
+
|
9
|
+
def brighten(*args)
|
10
|
+
paint.brighten *args
|
11
|
+
end
|
12
|
+
|
13
|
+
def lighten(*args)
|
14
|
+
paint.lighten *args
|
15
|
+
end
|
16
|
+
|
17
|
+
def darken(*args)
|
18
|
+
paint.darken *args
|
19
|
+
end
|
20
|
+
|
21
|
+
def saturate(*args)
|
22
|
+
paint.saturate *args
|
23
|
+
end
|
24
|
+
|
25
|
+
def desaturate(*args)
|
26
|
+
paint.desaturate *args
|
27
|
+
end
|
28
|
+
|
29
|
+
def greyscale
|
30
|
+
paint.greyscale
|
31
|
+
end
|
32
|
+
alias grayscale greyscale
|
33
|
+
|
34
|
+
def palette(*args)
|
35
|
+
paint.palette *args
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
data/lib/colorly/script.rb
CHANGED
@@ -1,6 +1,9 @@
|
|
1
1
|
module Colorly
|
2
2
|
class Script
|
3
|
+
include DSL
|
4
|
+
using StringRefinements
|
3
5
|
attr_reader :script, :filename
|
6
|
+
attr_writer :params
|
4
7
|
|
5
8
|
def self.load(script_file)
|
6
9
|
raise ScriptNotFound, "Unable to load #{script_file}" unless File.exist? script_file
|
@@ -12,49 +15,50 @@ module Colorly
|
|
12
15
|
end
|
13
16
|
|
14
17
|
def run
|
15
|
-
|
18
|
+
run!
|
19
|
+
rescue SyntaxError => e
|
20
|
+
raise ScriptSyntaxError.new e
|
21
|
+
rescue => e
|
22
|
+
raise ScriptError.new e
|
16
23
|
end
|
17
24
|
|
18
25
|
def output
|
19
26
|
@output ||= {}
|
20
27
|
end
|
21
28
|
|
22
|
-
def
|
29
|
+
def params
|
30
|
+
@params ||= {}
|
31
|
+
end
|
32
|
+
|
33
|
+
def simple_output(names: false)
|
23
34
|
output.transform_values do |chroma_array|
|
24
35
|
chroma_array.map do |chroma|
|
25
|
-
|
36
|
+
if names
|
37
|
+
{ hex: chroma.to_hex, name: [chroma.name, chroma.shade] }
|
38
|
+
else
|
39
|
+
chroma.to_hex
|
40
|
+
end
|
26
41
|
end
|
27
42
|
end
|
28
43
|
end
|
44
|
+
alias to_h simple_output
|
29
45
|
|
30
|
-
|
31
|
-
|
32
|
-
def title(title)
|
33
|
-
@current_title = title
|
34
|
-
end
|
46
|
+
private
|
35
47
|
|
36
|
-
def
|
37
|
-
if
|
38
|
-
|
48
|
+
def run!
|
49
|
+
if filename
|
50
|
+
instance_eval script, filename
|
39
51
|
else
|
40
|
-
|
41
|
-
@last = color.is_a?(String) ? color.paint : color
|
42
|
-
output[current_title] << last
|
52
|
+
instance_eval script
|
43
53
|
end
|
44
54
|
end
|
45
55
|
|
46
|
-
def
|
47
|
-
@last
|
56
|
+
def register(color)
|
57
|
+
@last = color.is_a?(String) ? color.paint : color
|
48
58
|
end
|
49
59
|
|
50
|
-
def random
|
51
|
-
"#%06x" % (rand * 0xffffff)
|
52
|
-
end
|
53
|
-
|
54
|
-
private
|
55
|
-
|
56
60
|
def current_title
|
57
|
-
@current_title ||= "
|
61
|
+
@current_title ||= "Colors"
|
58
62
|
end
|
59
63
|
|
60
64
|
end
|
@@ -13,7 +13,7 @@
|
|
13
13
|
.color {
|
14
14
|
float: left;
|
15
15
|
width: 120px;
|
16
|
-
height:
|
16
|
+
height: 80px;
|
17
17
|
padding: 10px 10px 10px 10px;
|
18
18
|
border: 2px solid white;
|
19
19
|
border-radius: 10px;
|
@@ -29,16 +29,23 @@
|
|
29
29
|
}
|
30
30
|
</style>
|
31
31
|
|
32
|
-
|
32
|
+
<%- output.each do |name, colors| -%>
|
33
|
+
<div class='colorset'>
|
33
34
|
<h2><%= name %></h2>
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
35
|
+
|
36
|
+
<%- colors.each do |color| -%>
|
37
|
+
<%- css_class = color.dark? ? 'dark color' : 'light color' -%>
|
38
|
+
<div class='<%= css_class %>' style='background-color:<%= color.to_hex %>'>
|
39
|
+
<%= color.to_hex.upcase %>
|
40
|
+
<%- if use_names -%>
|
41
|
+
<br><%= color.shade %><br><%= color.name %>
|
42
|
+
<%- end -%>
|
43
|
+
</div>
|
44
|
+
|
45
|
+
<%- end -%>
|
46
|
+
</div>
|
47
|
+
|
48
|
+
<%- end -%>
|
49
|
+
|
43
50
|
</body>
|
44
51
|
</html>
|
data/lib/colorly/version.rb
CHANGED
data/lib/colorly.rb
CHANGED
@@ -1,5 +1,15 @@
|
|
1
|
+
require "yaml"
|
1
2
|
require "requires"
|
2
3
|
require "byebug" if ENV["BYEBUG"]
|
3
4
|
requires \
|
4
5
|
"colorly/exceptions",
|
6
|
+
"colorly/version",
|
5
7
|
"colorly"
|
8
|
+
|
9
|
+
module Colorly
|
10
|
+
class << self
|
11
|
+
def color_names
|
12
|
+
@color_names ||= YAML.load_file(File.expand_path "colorly/data/color-names.yml", __dir__)['colors']
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: colorly
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Danny Ben Shitrit
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-09-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: chroma
|
@@ -44,14 +44,14 @@ dependencies:
|
|
44
44
|
requirements:
|
45
45
|
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: '
|
47
|
+
version: '2.0'
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: '
|
54
|
+
version: '2.0'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: mister_bin
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -92,9 +92,11 @@ files:
|
|
92
92
|
- lib/colorly.rb
|
93
93
|
- lib/colorly/cli.rb
|
94
94
|
- lib/colorly/command.rb
|
95
|
+
- lib/colorly/data/color-names.yml
|
96
|
+
- lib/colorly/dsl.rb
|
95
97
|
- lib/colorly/exceptions.rb
|
96
98
|
- lib/colorly/extensions/chroma_color.rb
|
97
|
-
- lib/colorly/
|
99
|
+
- lib/colorly/refinements/string.rb
|
98
100
|
- lib/colorly/script.rb
|
99
101
|
- lib/colorly/templates/html.erb
|
100
102
|
- lib/colorly/version.rb
|
@@ -112,14 +114,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
112
114
|
requirements:
|
113
115
|
- - ">="
|
114
116
|
- !ruby/object:Gem::Version
|
115
|
-
version: 2.
|
117
|
+
version: 2.6.0
|
116
118
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
117
119
|
requirements:
|
118
120
|
- - ">="
|
119
121
|
- !ruby/object:Gem::Version
|
120
122
|
version: '0'
|
121
123
|
requirements: []
|
122
|
-
rubygems_version: 3.
|
124
|
+
rubygems_version: 3.3.14
|
123
125
|
signing_key:
|
124
126
|
specification_version: 4
|
125
127
|
summary: Colorly color palette CLI
|
@@ -1,27 +0,0 @@
|
|
1
|
-
require 'chroma'
|
2
|
-
|
3
|
-
class String
|
4
|
-
def spin(*args)
|
5
|
-
paint.spin *args
|
6
|
-
end
|
7
|
-
|
8
|
-
def darken(*args)
|
9
|
-
paint.darken *args
|
10
|
-
end
|
11
|
-
|
12
|
-
def lighten(*args)
|
13
|
-
paint.lighten *args
|
14
|
-
end
|
15
|
-
|
16
|
-
def saturate(*args)
|
17
|
-
paint.saturate *args
|
18
|
-
end
|
19
|
-
|
20
|
-
def desaturate(*args)
|
21
|
-
paint.desaturate *args
|
22
|
-
end
|
23
|
-
|
24
|
-
def palette(*args)
|
25
|
-
paint.palette *args
|
26
|
-
end
|
27
|
-
end
|