From eac170562bb45b6b0d431a717ea75b58a4c32ba3 Mon Sep 17 00:00:00 2001 From: pingjiang Date: Sat, 19 Jul 2014 11:07:41 +0800 Subject: [PATCH] Fetch Code Content Content is decoded using atob, which would cause problem on old browsers. --- summary.html | 37 ++++++++++++++++++++++++++++++------- 1 file changed, 30 insertions(+), 7 deletions(-) diff --git a/summary.html b/summary.html index 872e453f..0e3b5994 100644 --- a/summary.html +++ b/summary.html @@ -67,7 +67,7 @@ // curl -i https://api.github.com/repos/pingjiang/hello-world/readme // curl -i https://api.github.com/repos/pingjiang/hello-world/contents/ jQuery(document).ready(function($) { - var REPOS_USER = 'pingjiang'; + var REPOS_USER = 'leachim6';// leachim6 var REPOS_NAME = 'hello-world'; var GITHUB_API = 'https://api.github.com/repos/' + REPOS_USER + '/' + REPOS_NAME + '/contents'; @@ -83,8 +83,31 @@ + data.documentation_url + '.

Please refresh later.

'); } + function loadContent(self_url, onSuccess) { + $.ajax({ + type: "POST", + url: self_url + '&callback=?', + crossDomain: true, + statusCode: { + 403: function(data) { + onGithubError(data); + } + }, + success: function (data) { + var result = data.data; + // console.log(result); + if (result.content == undefined || result.content == null) { + // onGithubError(result); + return; + } + var content = atob(result.content); + onSuccess(content); + }, + dataType: 'jsonp' + }); + } + function loadLanguages(langGroupName, appendToId, langGroup, onSuccess) { - // console.log('Load languages: ' + langGroupName + ', ' + langGroup); $.ajax({ type: "POST", url: langGroup + '&callback=?', @@ -101,12 +124,12 @@ return; } $.each(entries, function(i, entry) { - // console.log(entry.type + ' => ' + entry.name); if (entry.type == 'file') { - // console.log($(tabId + '>ul.langcodes')); - $('
  • ' + entry.name - + '

  • ').appendTo(appendToId); + loadContent(entry._links.self, function(content) { + $('
  • ' + entry.name + + '

    ' + content + '

    Code: ' + + entry.html_url + '

  • ').appendTo(appendToId); + }); } });