まず第一に、読んでくれてありがとう。
現在のプロジェクトをGitHubでホストしています。GitHub Pagesを使用して、個人のブログをホストしています。ここからブログにアクセスできます。
ブログには、現在取り組んでいるすべてのプロジェクト専用のページがあります。基本的に、GitHubにクエリを実行して、進行中のすべてのプロジェクトのリストを自動的に表示したいと思いました。
多くのグーグルをしている間、私はこれがJavaScriptを使用して達成できることを発見しました。試してみましたが、期待通りに動作しませんでした。ページを読み込むと、「リポジトリのGitHubをクエリしています」というテキストメッセージが表示されます。そして、何も起こらないようです。
GitHubのメンテナーに連絡したところ、この手法では古いバージョンのGitHubAPIが使用されているとの回答がありました。
私はJavaScriptの経験がないので、誰かが私にJavaScriptを修正するのを手伝ってもらえますか?
よろしく、
ローランド。
これが私がHTMLページ内で使用したコードです
<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>
次に、ファイル内にgit.js
次のようになります。
// 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:あなたの親切な助けに感謝します、しかし私はあなたが意図したものを本当に理解しませんでした。Chromeのコンソールにもコマンドを送ってみました。$
jQueryのエイリアスだと思いませんか?さて、同じものを送信するコンソールは、私のリポジトリを説明する複数のオブジェクトを出力するだけです。素晴らしい!
問題は、それらを適切に解析して表示することだと思います。ねえ、私はそのためのJavaScipt構文を学ぶ必要があります...