memegen 1.0.8 → 1.0.9
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.
- data/README.md +12 -11
- data/lib/meme_generator.rb +23 -3
- data/lib/meme_generator/cli.rb +1 -3
- metadata +10 -10
data/README.md
CHANGED
@@ -6,11 +6,12 @@ An RMagick-based two-caption meme generator.
|
|
6
6
|
|
7
7
|
## Install
|
8
8
|
|
9
|
-
You'll need [ImageMagick](http://www.imagemagick.org/script/index.php) installed.
|
9
|
+
You'll need [ImageMagick](http://www.imagemagick.org/script/index.php) and [ghostscript](http://www.ghostscript.com/) installed.
|
10
10
|
The easiest way is to use [Homebrew](https://github.com/mxcl/homebrew).
|
11
11
|
|
12
|
-
brew install
|
13
|
-
|
12
|
+
brew install ghostscript
|
13
|
+
brew install --build-from-source imagemagick
|
14
|
+
|
14
15
|
Then install the gem!
|
15
16
|
|
16
17
|
gem install memegen
|
@@ -23,13 +24,13 @@ To see a list of available images:
|
|
23
24
|
a_dog
|
24
25
|
p_obama
|
25
26
|
...
|
26
|
-
|
27
|
+
|
27
28
|
To generate an image:
|
28
29
|
|
29
30
|
$ memegen a_dog "Eat Crayons" "Poop Rainbows"
|
30
31
|
/tmp/meme-1234567890.jpg
|
31
|
-
$
|
32
|
-
|
32
|
+
$
|
33
|
+
|
33
34
|
You only have to supply one piece of text:
|
34
35
|
|
35
36
|
$ memegen a_dog "" "AWESOME"
|
@@ -41,20 +42,20 @@ You can also use URLs for one time use memes:
|
|
41
42
|
$ memegen http://example.com/stupid.jpg "Generated" "From a URL"
|
42
43
|
/tmp/meme-1234567890.jpg
|
43
44
|
$
|
44
|
-
|
45
|
+
|
45
46
|
## Adding your own images
|
46
47
|
|
47
48
|
You can add images to your local `~/.memegen` folder:
|
48
49
|
|
49
50
|
$ ls ~/.memegen
|
50
51
|
my_custom_image.png
|
51
|
-
|
52
|
+
|
52
53
|
## Upload to Campfire
|
53
54
|
|
54
55
|
If you have a [Campfire](http://campfirenow.com/) account and token, you can automatically upload your image:
|
55
56
|
|
56
57
|
$ memegen a_dog "Hello" "Campfire world" --campfire
|
57
|
-
|
58
|
+
|
58
59
|
It will prompt you for your subdomain, token, and room name the first time.
|
59
60
|
|
60
61
|
## Upload to GroupMe
|
@@ -62,9 +63,9 @@ It will prompt you for your subdomain, token, and room name the first time.
|
|
62
63
|
If you have a [GroupMe](http://groupme.com/) account and token, you can automatically upload your image:
|
63
64
|
|
64
65
|
$ memegen a_dog "Hello" "GroupMe world" --groupme
|
65
|
-
|
66
|
+
|
66
67
|
It will prompt you for your phone number, password, and group id the first time. (your password will NOT be stored in plain text).
|
67
|
-
|
68
|
+
|
68
69
|
## Bash completion
|
69
70
|
|
70
71
|
Source or copy `script/autocomplete.sh` inside `~/.bashrc` to get image name autocompletion.
|
data/lib/meme_generator.rb
CHANGED
@@ -2,12 +2,32 @@ require "RMagick"
|
|
2
2
|
require "fileutils"
|
3
3
|
|
4
4
|
class MemeGenerator
|
5
|
-
VERSION = "1.0.
|
5
|
+
VERSION = "1.0.9"
|
6
6
|
|
7
7
|
class << self
|
8
|
+
|
9
|
+
# @return [Array<String>] Returns a list of short names for memes
|
10
|
+
# available locally on disk.
|
11
|
+
def memes
|
12
|
+
meme_paths.keys
|
13
|
+
end
|
14
|
+
|
15
|
+
# @return [Hash] Returns a hash of of available memes. Hash keys are
|
16
|
+
# the short names for the memes and the values are paths to the meme
|
17
|
+
# image on disk.
|
18
|
+
def meme_paths
|
19
|
+
local_image_path = File.expand_path("~/.memegen")
|
20
|
+
base = File.join(File.dirname(__FILE__), "..", "generators")
|
21
|
+
files = Dir.glob(["#{base}/*", "#{local_image_path}/*.*"])
|
22
|
+
files.inject({}) do |images,path|
|
23
|
+
name = path.split('/').last.sub(/\.jpg$/, '')
|
24
|
+
images.merge(name => path)
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
8
28
|
def generate(path, top, bottom)
|
9
|
-
top = top.upcase
|
10
|
-
bottom = bottom.upcase
|
29
|
+
top = (top || '').upcase
|
30
|
+
bottom = (bottom || '').upcase
|
11
31
|
|
12
32
|
canvas = Magick::ImageList.new(path)
|
13
33
|
image = canvas.first
|
data/lib/meme_generator/cli.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: memegen
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.9
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
12
|
+
date: 2012-11-05 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rmagick
|
16
|
-
requirement: &
|
16
|
+
requirement: &70180072379800 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70180072379800
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: tinder
|
27
|
-
requirement: &
|
27
|
+
requirement: &70180072379260 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - =
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: 1.4.4
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *70180072379260
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: multipart-post
|
38
|
-
requirement: &
|
38
|
+
requirement: &70180072378840 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ! '>='
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: '0'
|
44
44
|
type: :runtime
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *70180072378840
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: highlight
|
49
|
-
requirement: &
|
49
|
+
requirement: &70180072378380 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ! '>='
|
@@ -54,7 +54,7 @@ dependencies:
|
|
54
54
|
version: '0'
|
55
55
|
type: :runtime
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *70180072378380
|
58
58
|
description: Locally generate two-caption 'Advice Dog'-style meme images
|
59
59
|
email:
|
60
60
|
- bkeene@gmail.com
|