var templates = {
  'Activity':    '<div class="activity">\
                    <div class="activity-icon"><i class="fa {{icon}}"></i></div>\
                    <div class="message">{{{message}}}</div>\
                    <div class="clear"></div>\
                  </div>',
  'CreateEvent': '<div class="single-line-small">\
                    <a href="{{githubUrl}}/{{actor.login}}">{{actor.login}}</a> created branch\
                    <a href="{{githubUrl}}/{{repo.name}}/tree/{{branch}}">{{branch}}</a> at\
                    <a href="{{githubUrl}}/{{repo.name}}">{{repo.name}}</a>\
                  </div>',
  'PublicEvent': '<div class="single-line">\
                    <a href="{{githubUrl}}/{{actor.login}}">{{actor.login}}</a> open sourced\
                    <a href="{{githubUrl}}/{{repo.name}}">{{repo.name}}</a>\
                  </div>',
  'PushEvent':   '<a href="{{githubUrl}}/{{actor.login}}">{{actor.login}}</a> pushed to\
                  <a href="{{githubUrl}}/{{repo.name}}/tree/{{branch}}">{{branch}}</a> at\
                  <a href="{{githubUrl}}/{{repo.name}}">{{repo.name}}</a>\
                  <ul>\
                    {{#payload.commits}}\
                    <li><small><a class="sha" href="{{githubUrl}}/{{repo.name}}/commit/{{sha}}">{{shortSha}}</a> {{message}}</small></li>\
                    {{/payload.commits}}\
                  </ul>',
  'WatchEvent':  '<div class="single-line-small">\
                    <a href="{{githubUrl}}/{{actor.login}}">{{actor.login}}</a> starred\
                    <a href="{{githubUrl}}/{{repo.name}}">{{repo.name}}</a>\
                  </div>'
};

var icons = {
  'PublicEvent': 'fa-globe',
  'PushEvent':   'fa-arrow-circle-o-up',
  'CreateEvent': 'fa-plus small',
  'WatchEvent':  'fa-star small'
}

function getMessageFor(data) {
  data.githubUrl = 'https://github.com';

  if (data.payload.ref) {
    if (data.payload.ref.substring(0,10) === 'refs/heads/') {
      data.branch = data.payload.ref.substring(11);
    } else {
      data.branch = data.payload.ref;
    }
  }

  // Only show the first 6 characters of the SHA of each commit if given.
  if (data.payload.commits) {
    $.each(data.payload.commits, function(i, d) {
      d.shortSha = d.sha.substring(0,6);
    });
  }

  var message = Mustache.render(templates[data.type], data);
  var activity = { "message": message, "icon": icons[data.type] };

  return Mustache.render(templates['Activity'], activity);
}

var GitHubActivity = (function() {
  this.feed = function(username, targetSelector) {
    $.getJSON('https://api.github.com/users/' + username + '/events?client_id=4c37e445b8ed8635dbcc&client_secret=a3152ff17d859f138428abb51cd78df425dbea28', function(data) {
      $.each(data, function(i, d) {
        var rendered = getMessageFor(d)
        $(targetSelector).append(rendered);
      });
    });
  }
  return this;
})();
@@ -611,24 +611,377 @@
    %3C/div%3E',%0A
+  'ForkEvent':   '%3Cdiv class=%22single-line-small%22%3E%5C%0A                    %3Ca href=%22%7B%7BgithubUrl%7D%7D/%7B%7Bactor.login%7D%7D%22%3E%7B%7Bactor.login%7D%7D%3C/a%3E forked%5C%0A                    %3Ca href=%22%7B%7BgithubUrl%7D%7D/%7B%7Brepo.name%7D%7D%22%3E%7B%7Brepo.name%7D%7D%3C/a%3E to%5C%0A                    %3Ca href=%22%7B%7BgithubUrl%7D%7D/%7B%7Bpayload.forkee.full_name%7D%7D%22%3E%7B%7Bpayload.forkee.full_name%7D%7D%3C/a%3E%5C%0A                  %3C/div%3E',%0A
   'PublicEve
@@ -1009,24 +1009,24 @@
 gle-line%22%3E%5C%0A
-
             
@@ -2000,16 +2000,89 @@
 ons = %7B%0A
+  'CreateEvent': 'fa-plus small',%0A  'ForkEvent':   'fa-code-fork small',%0A
   'Publi
@@ -2147,42 +2147,8 @@
 p',%0A
-  'CreateEvent': 'fa-plus small',%0A
   'W
@@ -2935,24 +2935,24 @@
 Selector) %7B%0A
+
     $.getJSO
@@ -3010,94 +3010,8 @@
 ents
-?client_id=4c37e445b8ed8635dbcc&client_secret=a3152ff17d859f138428abb51cd78df425dbea28
 ', f

Add ForkEvent.