Note that there are some explanatory texts on larger screens.

plurals
  1. POUse Javascript to get the list of a user's Github repositories
    primarykey
    data
    text
    <p>Firs of all, thanks for reading. I am hosting my current dev projects at Github. Using Github's pages, I used Github to host my personal blog, that you can reach <a href="http://yonaba.github.com/" rel="nofollow">here</a> There, I have a page dedicated to all the projects I am currently working on. Basically, I wanted to display the list of all my on-going projects automatically, querying Github. Googling a lot, I found <a href="http://aboutcode.net/2010/11/11/list-github-projects-using-javascript.html" rel="nofollow">this can be achieved using Javascript</a>. I tried it, but i didn't work as expected. When loading the page, I just get the text message 'Querying Github for repositories'. And nothing seems to happen.</p> <p>I contacted Github maintainers, and they kindly replied that this technique uses an outdated version of Github API. Well, it seems the v3.</p> <p>As I am not experienced in JS, can anyone help me to fix it ? </p> <p>Regards,<br/> Roland.</p> <hr> <p>Here is the code I used inside the HTML <a href="http://yonaba.github.com/projects.html" rel="nofollow">page</a></p> <pre><code>&lt;div id="opensource-projects"&gt;&lt;/div&gt; &lt;!-- Javascript to load and display repos from GitHub --&gt; &lt;script src="http://ajax.microsoft.com/ajax/jquery/jquery-1.4.2.min.js" type="text/javascript"&gt;&lt;/script&gt; &lt;script src="/javascripts/git.js" type="text/javascript"&gt;&lt;/script&gt; &lt;script type="text/javascript"&gt; $(function() { $("#opensource-projects").loadRepositories("Yonaba"); }); &lt;/script&gt; &lt;!-- End GitHub repo code --&gt; </code></pre> <p>Then, inside the file git.js, I have the following:</p> <pre><code>// http://aboutcode.net/2010/11/11/list-github-projects-using-javascript.html jQuery.githubUser = function(username, callback) { jQuery.getJSON("http://github.com/api/v1/json/" + username + "?callback=?", callback); } jQuery.fn.loadRepositories = function(username) { this.html("&lt;span&gt;Querying GitHub for " + username +"'s repositories...&lt;/span&gt;"); var target = this; $.githubUser(username, function(data) { var repos = data.user.repositories; sortByNumberOfWatchers(repos); var list = $('&lt;dl/&gt;'); target.empty().append(list); $(repos).each(function() { list.append('&lt;dt&gt;&lt;a href="'+ this.url +'"&gt;' + this.name + '&lt;/a&gt;&lt;/dt&gt;'); list.append('&lt;dd&gt;' + this.description + '&lt;/dd&gt;'); }); }); function sortByNumberOfWatchers(repos) { repos.sort(function(a,b) { return b.watchers - a.watchers; }); } }; </code></pre> <p>@jcolebrand : Thanks for your kind help, but i didn't really get what you meant. I tried sending some command to Chrome's console, too. I guess $ is an alias for jQuery, isn't it ? well, sending same stuff The console just outputs multiple objects, describing my repos. Awesome. I think the issue is now parsing them properly and display them. Gee, I need to learn JS syntax for that ...</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload