Created
December 6, 2010 14:24
-
-
Save alx/730347 to your computer and use it in GitHub Desktop.
Jekyll plugin to add Git activity inside a list
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
require 'git' | |
module Jekyll | |
class GitActivityTag < Liquid::Tag | |
def initialize(tag_name, text, tokens) | |
super | |
end | |
def render(context) | |
result = "" | |
g = Git.open(File.join(Dir.getwd, "..")) | |
index = 0 | |
g.log.each do |log| | |
if(index < 10) | |
result << "<li>" | |
result << log.date.strftime("%d %b") | |
result << " - <a href='http://git.tetalab.org/index.php/p/jekyll/source/commit/" | |
result << log.sha | |
result << "/'>" | |
result << log.message | |
result << "</a></li>" | |
index += 1 | |
end | |
end | |
"<ul>#{result}</ul>" | |
end | |
end | |
end | |
Liquid::Template.register_tag('gitactivity', Jekyll::GitActivityTag) |
@heyLu: I forgot to install git :) When installed it and set my path in Git.open, all works great. Thanks!
I configured Jekyll on a Github Page.
Can I have a ultra-detailed how-to about how to include this plugins to make it work on my site, configured as written above?
@streambinder You can still use plugins on gh-pages, but you have to push the static files instead of the Jekyll files.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
@christian-fei, @aledoroshenko: You would put it into your
_plugins
directory, as per the plugin page on the wiki.After you did that you can use it just like other liquid tags, for example like this:
And it would generate an HTML list with the date, sha and commit message of the repo given in the code. If you'd like to play with it you could try to get it support other repos, for example with a syntax like this:
{% awesomer_gitactivity /home/yournamehere/repos/jekyll %}
(see the example on the wiki).However, because the
git
(require
d at the top) module is not included in the standard ruby distribution you would have to install that first (withgem install git
).