Lolcommits Tumblr
lolcommits takes a snapshot with your webcam every time you git commit code, and archives a lolcat style image with it. Git blame has never been so much fun!
This is a simple plugin to post lolcommits to your Tumblr. Configure it with a Tumblr access token and secret (the plugin will guide you through this process).
Requirements
- Ruby >= 2.4
- A webcam
- ImageMagick
- ffmpeg (optional) for animated gif capturing
- A Tumblr account
Installation
After installing the lolcommits gem, install this plugin with:
$ gem install lolcommits-tumblr
Then configure to enable. If this is your first time setting up, you'll be asked to visit Tumblr to authenticate and allow access.
$ lolcommits --config -p tumblr
# set enabled to `true`
# confirm access for this plugin at tumblr.com (link opens automatically)
# click 'allow' then return to the console to set your Tumblr name
# optionally set a caption for each post (ERB friendly, see below)
# optionally set the plugin to auto-open each created Tumblr post
That's it! Your next lolcommit will automatically be posted to your Tumblr blog. To disable use:
$ lolcommits --config -p tumblr
# and set enabled to `false`
ERB friendly captions
You can optionally configure a caption string for each Tumblr post
caption_erb
. The ERB bind has these variables available:
message
- commit message stringsha
- commit sha (shortened)branch
- commit branch namerepo
- vcs respository namevcs_info
- vcs_info instance (from lolcommits)
This allows you to set caption strings like this:
Committed <%= sha %> in <%= repo %> on <%= branch %> - <%= message %>
Development
Check out this repo and run bin/setup
, this will install all dependencies and
generate docs. Use bundle exec rake
to run all tests and generate a coverage
report.
You can also run bin/console
for an interactive prompt that will allow you to
experiment with the gem code.
This plugin uses the tumblr-client
and OAuth gems. A
Webrick server is started during
configuration, to provide a responding return_uri
for the OAuth flow to
complete.
Tests
MiniTest is used for testing. Run the test suite with:
$ rake test
Docs
Generate docs for this gem with:
$ rake rdoc
Troubles?
If you think something is broken or missing, please raise a new issue. Take a moment to check it hasn't been raised in the past (and possibly closed).
Contributing
Bug reports and pull requests are welcome on GitHub.
When submitting pull requests, remember to add tests covering any new behaviour, and ensure all tests are passing on Travis CI. Read the contributing guidelines for more details.
This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the Contributor Covenant code of conduct. See here for more details.
License
The gem is available as open source under the terms of LGPL-3.