diff --git a/.themes/classic/source/_includes/asides/github.html b/.themes/classic/source/_includes/asides/github.html
new file mode 100644
index 0000000..935ccff
--- /dev/null
+++ b/.themes/classic/source/_includes/asides/github.html
@@ -0,0 +1,30 @@
+{% if site.github_user %}
+
+ Github Repos
+
+ {% if site.github_show_profile_link %}
+ @{{site.github_user}} on Github
+ {% endif %}
+
+
+
+{% endif %}
diff --git a/.themes/classic/source/javascripts/github.js b/.themes/classic/source/javascripts/github.js
new file mode 100644
index 0000000..623d493
--- /dev/null
+++ b/.themes/classic/source/javascripts/github.js
@@ -0,0 +1,43 @@
+github = (function(){
+ function render(target, repos){
+ var i = 0, fragment = '', t = $(target)[0];
+
+ for(i = 0; i < repos.length; i++)
+ fragment += '
'+repos[i].name+''+repos[i].description+'
';
+
+ t.innerHTML = fragment;
+ }
+ return {
+ showRepos: function(options){
+ var feed = new jXHR();
+ feed.onerror = function (msg,url) {
+ $(options.target + ' li.loading').addClass('error').text("Error loading feed");
+ }
+ feed.onreadystatechange = function(data){
+ if (feed.readyState === 4) {
+ var repos = [];
+ var i;
+ for (i = 0; i < data.repositories.length; i++){
+ if (options.skip_forks && data.repositories[i].fork)
+ continue;
+ repos.push(data.repositories[i]);
+ }
+ repos.sort(function(a, b){
+ var a = new Date(a.pushed_at),
+ b = new Date(b.pushed_at);
+
+ if (a.valueOf() == b.valueOf()) return 0;
+ return a.valueOf() > b.valueOf() ? -1 : 1;
+ });
+
+ if (options.count)
+ repos.splice(options.count);
+
+ render(options.target, repos)
+ }
+ };
+ feed.open("GET","http://github.com/api/v2/json/repos/show/"+options.user+"?callback=?");
+ feed.send();
+ }
+ };
+})();
\ No newline at end of file
diff --git a/_config.yml b/_config.yml
index 00dc8aa..6d472bf 100644
--- a/_config.yml
+++ b/_config.yml
@@ -36,7 +36,7 @@ excerpt_link: "Read on →" # "Continue reading" link text at the bottom of
# list each of the sidebar modules you want to include, in the order you want them to appear.
# To add custom asides, create files in /source/_includes/custom/asides/ and add them to the list like 'custom/asides/custom_aside_name.html'
-default_asides: [asides/recent_posts.html, asides/twitter.html, asides/delicious.html, asides/pinboard.html]
+default_asides: [asides/recent_posts.html, asides/github.html, asides/twitter.html, asides/delicious.html, asides/pinboard.html]
# Each layout uses the default asides, but they can have their own asides instead. Simply uncomment the lines below
# and add an array with the asides you want to use.
@@ -48,6 +48,12 @@ default_asides: [asides/recent_posts.html, asides/twitter.html, asides/delicious
# 3rd Party Settings #
# ----------------------- #
+# Github repositories
+github_user:
+github_repo_count: 0
+github_show_profile_link: true
+github_skip_forks: true
+
# Twitter
twitter_user:
twitter_tweet_count: 4