Skip to content

Commit

Permalink
Working version for Safari and FF3
Browse files Browse the repository at this point in the history
  • Loading branch information
heipei committed Aug 17, 2008
1 parent ce28102 commit b618987
Show file tree
Hide file tree
Showing 3 changed files with 77 additions and 106 deletions.
71 changes: 21 additions & 50 deletions index.html
@@ -1,59 +1,30 @@
<html>
<head>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>

<script type="text/javascript" src="lib/prototype.js">
</script>

<script type="text/javascript" src="lib/date.js">
</script>

<script type="text/javascript" src="lib/md5.js">
</script>

<script type="text/javascript" src="lib/jquery.js">
</script>

<!-- <script type="text/javascript" src="loadlibs.js">
</script> -->

<script type="text/javascript">
jQuery.noConflict();
</script>

<div id="container">
<script type="text/javascript">
USERNAME="heipei"
REPO="github-test"
BRANCH="master"
</script>

<script type="text/javascript" src="test.js">
</script>
</div>
<script type="text/javascript" src="loadlibs.js"></script>

<div id="container">
<script type="text/javascript">
USERNAME="heipei"
REPO="xmpp4r"
BRANCH="master"
</script>

<div id="container">
<script type="text/javascript" src="test.js">
</script>
</div>
<script type="text/javascript">
USERNAME="schacon"
REPO="grit"
BRANCH="master"
</script>

<script type="text/javascript" src="test.js">
</script>
<script type="text/javascript">
var Badges = new Array();
Badges[0] = new Object;
Badges[0]["username"] = "heipei";
Badges[0]["repo"] = "github-test";
Badges[0]["branch"] = "master";

Badges[1] = new Object;
Badges[1]["username"] = "heipei";
Badges[1]["repo"] = "xmpp4r";
Badges[1]["branch"] = "master";

Badges[2] = new Object;
Badges[2]["username"] = "schacon";
Badges[2]["repo"] = "grit";
Badges[2]["branch"] = "master";
</script>

<script type="text/javascript" src="test.js"></script>
</div>

</body>
</html

21 changes: 15 additions & 6 deletions loadlibs.js
@@ -1,6 +1,15 @@
['md5', 'jquery', 'date'].each(function(lib) {
var myLib = document.createElement("script");
myLib.setAttribute("type","text/javascript");
myLib.setAttribute("src","lib/" + lib + ".js");
document.documentElement.appendChild(myLib);
});
// Load the necessary libraries
var myLibs = ["jquery", "md5", "date", "prototype"];
for (var i=0; i < myLibs.length; ++i) {
var myScript = document.createElement("script");
myScript.setAttribute("type","text/javascript");
myScript.setAttribute("src","lib/" + myLibs[i] + ".js");
document.documentElement.appendChild(myScript);
};
// Write the stylesheet into the <head>
myHead = document.getElementsByTagName("head")[0];
myCSS = document.createElement("link");
myCSS.setAttribute("rel","stylesheet");
myCSS.setAttribute("type","text/css");
myCSS.setAttribute("href","style.css");
myHead.appendChild(myCSS);
91 changes: 41 additions & 50 deletions test.js
Expand Up @@ -2,74 +2,65 @@
// by heipei


var myBadge = document.createElement("div");
myBadge.setAttribute("class","outline");
Badges.each(function(badgeData) {

var myUserRepo = document.createElement("div");
myUserRepo.setAttribute("class","username");
jQuery.getJSON("http://github.com/api/v1/json/" + badgeData["username"] + "/" + badgeData["repo"]
+ "/commit/" + badgeData["branch"] + "?callback=?", function(data) {

var myUser = badgeData["username"];
var myRepo = badgeData["repo"];
var myEval = eval ( data );

var myBadge = document.createElement("div");
myBadge.setAttribute("class","outline");

var myLink = document.createElement("a");
myLink.setAttribute("href","http://github.com/" + USERNAME + "/" + REPO);
myLink.setAttribute("class","username");
myLink.appendChild(document.createTextNode(USERNAME + "/" + REPO));
myUserRepo.appendChild(myLink);
var myUserRepo = document.createElement("div");
myUserRepo.setAttribute("class","username");

var myCommitMessage = document.createElement("div");
myCommitMessage.setAttribute("class","commitmessage");
var myDiffLine = document.createElement("div");
myDiffLine.setAttribute("class","diffline");
var myLink = document.createElement("a");
myLink.setAttribute("href","http://github.com/" + myUser + "/" + myRepo);
myLink.setAttribute("class","username");
myLink.appendChild(document.createTextNode(myUser + "/" + myRepo));
myUserRepo.appendChild(myLink);

myDiffStat = document.createElement("div");
myDiffStat.setAttribute("class","diffstat");
var myCommitMessage = document.createElement("div");
myCommitMessage.setAttribute("class","commitmessage");
var myDiffLine = document.createElement("div");
myDiffLine.setAttribute("class","diffline");

jQuery.getJSON("http://github.com/api/v1/json/" + USERNAME + "/" + REPO + "/commit/" + BRANCH + "?callback=?",
function(data) {
MyEval = eval ( data );
var myDiffStat = document.createElement("div");
myDiffStat.setAttribute("class","diffstat");

var myImage = document.createElement("img");
myImage.setAttribute("src","http://www.gravatar.com/avatar/" + hex_md5(MyEval.commit.committer.email) + "?s=60");
myImage.setAttribute("src","http://www.gravatar.com/avatar/" + hex_md5(myEval.commit.committer.email) + "?s=60");
myImage.className = "gravatar";
myDiffLine.appendChild(myImage);

var myLink = document.createElement("a");
myLink.setAttribute("href",MyEval.commit.url);
myLink.appendChild(document.createTextNode(" " + MyEval.commit.id.truncate(10,"")));
myDiffLine.appendChild(document.createTextNode(MyEval.commit.committer.name + " "));
mySpan = document.createElement("span");
myLink.setAttribute("href",myEval.commit.url);
myLink.appendChild(document.createTextNode(" " + myEval.commit.id.truncate(10,"")));
myDiffLine.appendChild(document.createTextNode(myEval.commit.committer.name + " "));
var mySpan = document.createElement("span");
mySpan.appendChild(document.createTextNode("committed"));

var myDate = document.createElement("span");
var myParsedDate = Date.parse(MyEval.commit.committed_date).toString("yyyy-MM-dd @ HH:mm");
var myParsedDate = Date.parse(myEval.commit.committed_date).toString("yyyy-MM-dd @ HH:mm");
myDate.appendChild(document.createTextNode(myParsedDate));

myDiffLine.appendChild(mySpan);
myDiffLine.appendChild(myLink);
myDiffLine.appendChild(document.createElement("span").appendChild(document.createTextNode(" on ")));
myDiffLine.appendChild(myDate);

myCommitMessage.appendChild(document.createTextNode("\"" + MyEval.commit.message + "\""));
/* myAdded = document.createElement("span");
myAdded.id = "diffadded";
myAdded.appendChild(document.createTextNode(" added"));
myRemoved = document.createElement("span");
myRemoved.appendChild(document.createTextNode(" removed"));
myRemoved.id = "diffremoved";
myChanged = document.createElement("span");
myChanged.appendChild(document.createTextNode(" changed"));
myChanged.id = "diffchanged";
myDiffStat.appendChild(document.createTextNode(" (" + MyEval.commit.added.length));
myDiffStat.appendChild(myAdded);
myDiffStat.appendChild(document.createTextNode(", " + MyEval.commit.removed.length));
myDiffStat.appendChild(myRemoved);
myDiffStat.appendChild(document.createTextNode(", " + MyEval.commit.modified.length));
myDiffStat.appendChild(myChanged);
myDiffStat.appendChild(document.createTextNode(")")); */
myDiffStat.innerHTML = "( " + MyEval.commit.added.length + " <span id=\"diffadded\">added<\/span>, " + MyEval.commit.removed.length + " <span id=\"diffremoved\">removed<\/span>, " + MyEval.commit.modified.length + " <span id=\"diffchanged\">changed<\/span>)";
});

myBadge.appendChild(myUserRepo);
myBadge.appendChild(myDiffLine);
myBadge.appendChild(myCommitMessage);
myBadge.appendChild(myDiffStat);
myContainer = document.getElementById("container");
myContainer.appendChild(myBadge);
myCommitMessage.appendChild(document.createTextNode("\"" + myEval.commit.message + "\""));
myDiffStat.innerHTML = "(" + myEval.commit.added.length + " <span id=\"diffadded\">added<\/span>, "
+ myEval.commit.removed.length + " <span id=\"diffremoved\">removed<\/span>, "
+ myEval.commit.modified.length + " <span id=\"diffchanged\">changed<\/span>)";
myBadge.appendChild(myUserRepo);
myBadge.appendChild(myDiffLine);
myBadge.appendChild(myCommitMessage);
myBadge.appendChild(myDiffStat);
var myContainer = document.getElementById("container");
myContainer.appendChild(myBadge);
});
});

0 comments on commit b618987

Please sign in to comment.