diff --git a/OurUmbraco.Site/Views/Partials/Home/GitHubContributors.cshtml b/OurUmbraco.Site/Views/Partials/Home/GitHubContributors.cshtml
index 90a78ba5..ec025a53 100644
--- a/OurUmbraco.Site/Views/Partials/Home/GitHubContributors.cshtml
+++ b/OurUmbraco.Site/Views/Partials/Home/GitHubContributors.cshtml
@@ -1,16 +1,23 @@
@model OurUmbraco.Community.Models.GitHubContributorsModel
-@foreach (var contributor in Model.Contributors)
+@if (Model.Contributors.Any())
{
-
-
-

-
@contributor.Contributions
-
-
+ foreach (var contributor in Model.Contributors)
+ {
+ var author = contributor.Author;
+ if (author != null)
+ {
+
+
+

+
@contributor.Total
+
+
+ }
+ }
}
-@if (Model.Contributors.Any() == false)
+else
{
Could not load recent GitHub contributors.
}
\ No newline at end of file
diff --git a/OurUmbraco/Community/Controllers/GitHubContributorController.cs b/OurUmbraco/Community/Controllers/GitHubContributorController.cs
index 8568d43a..dd05d77c 100644
--- a/OurUmbraco/Community/Controllers/GitHubContributorController.cs
+++ b/OurUmbraco/Community/Controllers/GitHubContributorController.cs
@@ -22,7 +22,6 @@ namespace OurUmbraco.Community.Controllers
var contributors = ApplicationContext.ApplicationCache.RuntimeCache.GetCacheItem>("UmbracoGitHubContributors",
() =>
{
- //TODO: GitHub keys if required
var githubController = new GitHubController();
var response = githubController.GetAllContributors();
if (response.StatusCode == HttpStatusCode.OK && response.ResponseStatus == ResponseStatus.Completed)
diff --git a/OurUmbraco/Community/Models/GithubContributorModel.cs b/OurUmbraco/Community/Models/GithubContributorModel.cs
index 65f63c12..8a4c7054 100644
--- a/OurUmbraco/Community/Models/GithubContributorModel.cs
+++ b/OurUmbraco/Community/Models/GithubContributorModel.cs
@@ -1,9 +1,34 @@
-using System.Runtime.Serialization;
+using System.Collections.Generic;
+using System.Runtime.Serialization;
namespace OurUmbraco.Community.Models
{
[DataContract]
public class GitHubContributorModel : IGitHubContributorModel
+ {
+ public int Total { get; set; }
+ public List Weeks { get; set; }
+ public Author Author { get; set; }
+ }
+
+ [DataContract]
+ public class Week
+ {
+ [DataMember(Name = "w")]
+ public int Timestamp { get; set; }
+
+ [DataMember(Name = "a")]
+ public int Additions { get; set; }
+
+ [DataMember(Name = "d")]
+ public int Deletions { get; set; }
+
+ [DataMember(Name = "c")]
+ public int Commits { get; set; }
+ }
+
+ [DataContract]
+ public class Author
{
public string Login { get; set; }
@@ -51,7 +76,5 @@ namespace OurUmbraco.Community.Models
[DataMember(Name = "site_admin")]
public bool SiteAdmin { get; set; }
-
- public int Contributions { get; set; }
}
}
\ No newline at end of file
diff --git a/OurUmbraco/Our/Api/GithubController.cs b/OurUmbraco/Our/Api/GithubController.cs
index 3d3e37ed..54c7d4d7 100644
--- a/OurUmbraco/Our/Api/GithubController.cs
+++ b/OurUmbraco/Our/Api/GithubController.cs
@@ -16,9 +16,8 @@ namespace OurUmbraco.Our.Api
///
public IRestResponse> GetAllContributors()
{
- //https://api.github.com/repos/umbraco/Umbraco-CMS/contributors
var client = new RestClient("https://api.github.com");
- var request = new RestRequest("/repos/umbraco/Umbraco-CMS/contributors", Method.GET);
+ var request = new RestRequest("/repos/umbraco/Umbraco-CMS/stats/contributors", Method.GET);
client.UserAgent = "OurUmbraco";
var response = client.Execute>(request);