Skip to content
CLI Ruby gem to generate LGTM image from source URI or with smart text colors and positions. Support direct clipboard paste to github's comment box or Slack on MacOSX.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


Build Status Code Climate Test Coverage Gem Version

This game is for LGTM lovers that want to generate cool shits without leaving their terminal.

Check out the magic below

Source Kawaii!
Source Happy Taeyeon!


This gem needs imagemagick installed on local machine for image processing

See if it has been installed already (should be able to see similar output like below)

$ convert -version
Version: ImageMagick 6.9.2-6 Q16 x86_64 2015-11-15
Copyright: Copyright (C) 1999-2015 ImageMagick Studio LLC

If not, follow below command to install it

$ sudo apt-get install imagemagick libmagickwand-dev # for Ubuntu, Debian
$ yum install -y ImageMagick ImageMagick-devel # for RHEL, CentOS, Fedora
$ brew install imagemagick # Mac with Brew
$ sudo port install imagemagick # Mac with Port


$ gem install lgtm_hd


Add LGTM caption to image

$ lgtm_hd <source_image_uri>

Fetch random image from

 $ lgtm_hd random 

Global Options:

--interactive (-i) is for lazy people who can't bother to type
--dest <DIR> (-d) is for changing output folder
--preview high/low/none (-p) for changing quality of image previewing on terminal


Add LGTM caption to image (with output)

$ lgtm_hd
Reading and inspecting source at
Transforming Image
Exporting to file
Exported LGTM image to /Users/huydq/Desktop/lgtm_hd_20170529005457.gif
Copied file to OS's clipboard for direct pasting to Github comments or Slack

Fetch random image from (with output)

$ bundle exec bin/lgtm_hd random
Fetching from
Loading image at
Exported image to /Users/huydq/Works/lgtm_hd/lgtm_hd_20170529011541.jpg
Copied file to OS's clipboard for direct pasting to Github comments or Slack

Or you can copy the markdown format below provided by
if the's image does not have LGTM texts on it, run the cmd below
lgtm_hd /Users/huydq/Works/lgtm_hd/lgtm_hd_20170529011541.jpg

Interaction Mode

$ lgtm_hd -i
-- LGTM HD Interactive Mode --
Source Image (URL or Path/to/file): lgtm_hd_20170527122725.jpg
Destination Directory (Enter to skip):

Image Preview


  • Smart Color - render White or Black caption based on the background's darkness
  • Auto Clipboard - MacOSX user can just paste directly to comment box on Github after running the programm. On other OSes the clipboard only returns the path to the generated LGTM image.
  • Random image from
  • Image Preview on terminal
  • Formats - GIF, PNG, JPEG (SVG and TIFF not tested yet)
  • Max Image size is 500px by 500px

Features TODO List

  • Caption Position - Top Center or Bottom Center positions for the caption
  • Add options for [font size, positions] (Code already setup for this, expect new version soon!)
  • Add --source-random option incase there is no source provided.
  • Add --caption-color for more colorful captions
  • Submission to
  • Keyword's based Query google images and return the first found item
  • Interactive mode that allow adjusting LGTM captions
  • Add progress bar for the whole generation process
  • Support multiple LGTM texts
  • Need to add RSpect test. Target is 90% code coverage on code climate.
  • Need to refactor Lgtm_HD module for a more generic approach so it can become a meme generator in the future, not just LGTM.


bundle install
bundle exec bin/lgtm_hd 

# Local gem build and testing
rake build
gem install pkg/lgtm_hd_x.x.x.gem


I am new to Ruby, I wrote this gem for self-educating. So, please feel welcome to correct me where I am wrong, contribute & review code, or test it on multiple platforms, or just bring up ideas.

Bug reports and pull requests are welcome on GitHub at


The gem is available as open source under the terms of the MIT License.

About Me

AJAX Amsterdamche FC & Chandler Bing's big fan.

You can’t perform that action at this time.