Verwenden Sie Javascript, um die Liste der Github-Repositorys eines Benutzers abzurufen

Vielen Dank fürs Lesen. Ich hoste meine aktuellen Entwicklungsprojekte bei Github. Auf den Seiten von Github habe ich Github verwendet, um meinen persönlichen Blog zu hosten, den Sie erreichen könnenHier Dort habe ich eine Seite, die allen Projekten gewidmet ist, an denen ich gerade arbeite. Grundsätzlich wollte ich die Liste aller meiner laufenden Projekte automatisch anzeigen und Github abfragen. Ich habe viel gegoogeltDies kann mit Javascript erreicht werden. Ich habe es versucht, aber ich habe nicht wie erwartet gearbeitet. Beim Laden der Seite erhalte ich nur die Meldung "Github nach Repositorys abfragen". Und nichts scheint zu passieren.

Ich habe mich mit den Betreuern von Github in Verbindung gesetzt und sie haben mir freundlicherweise geantwortet, dass diese Technik eine veraltete Version der Github-API verwendet. Nun, es scheint die v3.

Kann mir jemand helfen, das Problem zu beheben, da ich noch keine Erfahrung mit JS habe?

Grüße,
Roland.

Hier ist der Code, den ich im HTML verwendet habeSeite

<div id="opensource-projects"></div> 
<!-- Javascript to load and display repos from GitHub -->
<script src="http://ajax.microsoft.com/ajax/jquery/jquery-1.4.2.min.js" type="text/javascript"></script>
<script src="/javascripts/git.js" type="text/javascript"></script>
<script type="text/javascript">
  $(function() {
    $("#opensource-projects").loadRepositories("Yonaba");
  });
  </script>
<!-- End GitHub repo code -->

Dann habe ich in der Datei git.js Folgendes:

// 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("<span>Querying GitHub for " + username +"'s repositories...</span>");

  var target = this;
  $.githubUser(username, function(data) {
    var repos = data.user.repositories;
    sortByNumberOfWatchers(repos);

    var list = $('<dl/>');
    target.empty().append(list);
    $(repos).each(function() {
      list.append('<dt><a href="'+ this.url +'">' + this.name + '</a></dt>');
      list.append('<dd>' + this.description + '</dd>');
    });
  });

  function sortByNumberOfWatchers(repos) {
    repos.sort(function(a,b) {
      return b.watchers - a.watchers;
    });
  }
};

@jcolebrand: Danke für deine freundliche Hilfe, aber ich habe nicht wirklich verstanden, was du meinst. Ich habe auch versucht, einen Befehl an die Chrome-Konsole zu senden. $ Ist wohl ein Alias ​​für jQuery, oder? Nun, das gleiche Material senden Die Konsole gibt nur mehrere Objekte aus, die meine Repos beschreiben. Genial. Ich denke, das Problem analysiert sie jetzt richtig und zeigt sie an. Gee, ich muss JS-Syntax dafür lernen ...

Antworten auf die Frage(3)

Ihre Antwort auf die Frage