drakkon 0.0.6 → 0.0.7
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/drakkon/gem/bundle.rb +4 -0
- data/lib/drakkon/lib/images/cli.rb +2 -0
- data/lib/drakkon/lib/images/text.rb +89 -0
- data/lib/drakkon/release.rb +1 -1
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 22dc052674cbdeb00139240538434c5098c27f5b4daa59ecc35ba3fd30fc6219
|
4
|
+
data.tar.gz: e705e6edc55b2b979761da02ad021d4d0ae427b6b03144fc8d20835f3a89f496
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f02cc623e83d177b61e9043d4852571b5be61c9ac3fea8aa73009e2469fe90636c2da8976829209342cbbd8c6358033586f1c1994bf2a3814157ebb0b19cbfe7
|
7
|
+
data.tar.gz: 582b9944ca4aeec1d5963fd92190f4330b97cdbcc1f99892f725dbe3629290c523bc3926e4f89ac111f96b874422a6503b2a40bde396fe606a393237cbe69033
|
data/lib/drakkon/gem/bundle.rb
CHANGED
@@ -33,6 +33,7 @@ module Drakkon
|
|
33
33
|
when :sepia then Images::Sepia.run!(args)
|
34
34
|
when :modulate then Images::Modulate.run!(args)
|
35
35
|
when :bulk_rename then Images::BulkRename.run!(args)
|
36
|
+
when :text_to_image then Images::TextToImage.run!(args)
|
36
37
|
when :index then Images::Index.run!(force: true)
|
37
38
|
when :exit then exit(0)
|
38
39
|
else
|
@@ -61,6 +62,7 @@ module Drakkon
|
|
61
62
|
menu.choice name: 'Gif Split (gif_split)', value: :gif_split
|
62
63
|
menu.choice name: 'Sepia', value: :sepia
|
63
64
|
menu.choice name: 'Modulate', value: :modulate
|
65
|
+
menu.choice name: 'TextToImage', value: :text_to_image
|
64
66
|
menu.choice name: 'Index (Re-run Index)', value: :index
|
65
67
|
menu.choice name: 'exit', value: :exit
|
66
68
|
end
|
@@ -0,0 +1,89 @@
|
|
1
|
+
module Drakkon
|
2
|
+
module Images
|
3
|
+
# Make some img files from fonts
|
4
|
+
module TextToImage
|
5
|
+
def self.run!(args = [])
|
6
|
+
text = if args.empty?
|
7
|
+
prompt.ask('Text? (e.g. rawr): ')
|
8
|
+
else
|
9
|
+
args.shift
|
10
|
+
end
|
11
|
+
|
12
|
+
size = if args.empty?
|
13
|
+
24
|
14
|
+
else
|
15
|
+
args.shift
|
16
|
+
end
|
17
|
+
|
18
|
+
color = if args.empty?
|
19
|
+
'white'
|
20
|
+
else
|
21
|
+
args.shift
|
22
|
+
end
|
23
|
+
|
24
|
+
file = if args.empty?
|
25
|
+
text.gsub(' ', '').downcase
|
26
|
+
else
|
27
|
+
args.shift
|
28
|
+
end
|
29
|
+
|
30
|
+
file.gsub!(/[^0-9A-Za-z.-]/, '_')
|
31
|
+
|
32
|
+
font = if args.empty?
|
33
|
+
font_prompt
|
34
|
+
else
|
35
|
+
args.shift
|
36
|
+
end
|
37
|
+
|
38
|
+
puts <<~HELP
|
39
|
+
Usage [text] [size=24] [color=white] [file=text] [font]
|
40
|
+
- Will look for fonts directory
|
41
|
+
- Generates via MiniMagick on transparent background
|
42
|
+
|
43
|
+
|
44
|
+
Text: #{text}
|
45
|
+
Size: #{size}
|
46
|
+
Color: #{color}
|
47
|
+
File: #{file}
|
48
|
+
Font: #{font}
|
49
|
+
HELP
|
50
|
+
|
51
|
+
puts
|
52
|
+
|
53
|
+
exit unless prompt.yes? "#{'Are you sure?'.pastel(:bright_yellow)}"
|
54
|
+
|
55
|
+
generate(font: font, text: text, size: size, color: color, file: file)
|
56
|
+
rescue TTY::Reader::InputInterrupt
|
57
|
+
exit 0
|
58
|
+
end
|
59
|
+
|
60
|
+
def self.font_prompt
|
61
|
+
list = Dir['*.ttf', '*.otf', 'fonts/*']
|
62
|
+
|
63
|
+
prompt.select('Select Font:', filter: true) do |menu|
|
64
|
+
list.each do |font|
|
65
|
+
menu.choice name: font
|
66
|
+
end
|
67
|
+
end
|
68
|
+
end
|
69
|
+
|
70
|
+
def self.generate(font:, text:, size:, color:, file:)
|
71
|
+
LogBot.info('TextToImage', file)
|
72
|
+
MiniMagick::Tool::Convert.new do |convert|
|
73
|
+
convert.background 'none'
|
74
|
+
convert.fill color
|
75
|
+
convert.font font
|
76
|
+
convert.pointsize size
|
77
|
+
convert << "label:#{text}"
|
78
|
+
convert << "#{file}.png"
|
79
|
+
end
|
80
|
+
end
|
81
|
+
|
82
|
+
def self.prompt
|
83
|
+
TTY::Prompt.new(active_color: :cyan, interrupt: :exit)
|
84
|
+
end
|
85
|
+
# =========================================================
|
86
|
+
end
|
87
|
+
# =========================================================
|
88
|
+
end
|
89
|
+
end
|
data/lib/drakkon/release.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: drakkon
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Davin Walker
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-02-
|
11
|
+
date: 2024-02-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faker
|
@@ -250,6 +250,7 @@ files:
|
|
250
250
|
- lib/drakkon/lib/images/shift.rb
|
251
251
|
- lib/drakkon/lib/images/split.rb
|
252
252
|
- lib/drakkon/lib/images/spritesheet.rb
|
253
|
+
- lib/drakkon/lib/images/text.rb
|
253
254
|
- lib/drakkon/lib/images/trim.rb
|
254
255
|
- lib/drakkon/lib/images/white.rb
|
255
256
|
- lib/drakkon/lib/logbot.rb
|