Merge branch 'pilif-github-repositories-plugin'
This commit is contained in:
commit
3cedd387a0
30
.themes/classic/source/_includes/asides/github.html
Normal file
30
.themes/classic/source/_includes/asides/github.html
Normal file
@ -0,0 +1,30 @@
|
||||
{% if site.github_user %}
|
||||
<section>
|
||||
<h1>Github Repos</h1>
|
||||
<ul id="gh_repos">
|
||||
<li class="loading">Status updating...</li>
|
||||
</ul>
|
||||
{% if site.github_show_profile_link %}
|
||||
<a href="https://github.com/{{site.github_user}}">@{{site.github_user}}</a> on Github
|
||||
{% endif %}
|
||||
<script type="text/javascript">
|
||||
$.domReady(function(){
|
||||
if (!window.jXHR){
|
||||
var jxhr = document.createElement('script');
|
||||
jxhr.type = 'text/javascript';
|
||||
jxhr.src = '{{ root_url}}/javascripts/libs/jXHR.js';
|
||||
var s = document.getElementsByTagName('script')[0];
|
||||
s.parentNode.insertBefore(jxhr, s);
|
||||
}
|
||||
|
||||
github.showRepos({
|
||||
user: '{{site.github_user}}',
|
||||
count: {{site.github_repo_count}},
|
||||
skip_forks: {{site.github_skip_forks}},
|
||||
target: '#gh_repos'
|
||||
});
|
||||
});
|
||||
</script>
|
||||
<script src="{{ root_url }}/javascripts/github.js" type="text/javascript"> </script>
|
||||
</section>
|
||||
{% endif %}
|
43
.themes/classic/source/javascripts/github.js
Normal file
43
.themes/classic/source/javascripts/github.js
Normal file
@ -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 += '<li><a href="'+repos[i].url+'">'+repos[i].name+'</a><p>'+repos[i].description+'</p></li>';
|
||||
|
||||
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();
|
||||
}
|
||||
};
|
||||
})();
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user