github activity: allow sorting by an arbitrary attribute (GITHUB_SORT_ATTRIBUTE) and ascending/descending (GITHUB_SORT_DESCENDING)

This commit is contained in:
Jan Müller
2013-11-23 22:06:59 +01:00
parent 7ef242b758
commit 18024acc4c
3 changed files with 24 additions and 10 deletions

View File

@@ -37,9 +37,11 @@ Categories are disabled by default because I don't use them myself. If you want
The theme can show your most recently active GitHub repos in the sidebar. To enable, provide a `GITHUB_USER`. Appearance and behaviour can be controlled using the following variables:
* `GITHUB_REPO_COUNT`
* `GITHUB_SKIP_FORK`
* `GITHUB_SHOW_USER_LINK`
* `GITHUB_REPO_COUNT` (default: `5`)
* `GITHUB_SKIP_FORK` (default: `False`)
* `GITHUB_SHOW_USER_LINK` (default: `True`)
* `GITHUB_SORT_ATTRIBUTE` (default: `pushed_at`, for other attributes like `stargazers_count` cf. `https://api.github.com/users/<GITHUB_USER>/repos`)
* `GITHUB_SORT_DESCENDING` (default: `True`)
### Bootswatch and other Bootstrap 3 themes

View File

@@ -24,13 +24,11 @@ var github = (function(){
repos.push(data.data[i]);
}
repos.sort(function(a, b) {
var aDate = new Date(a.pushed_at).valueOf(),
bDate = new Date(b.pushed_at).valueOf();
if (aDate === bDate) { return 0; }
return aDate > bDate ? -1 : 1;
if (a[options.sort_attribute] > b[options.sort_attribute]) { return 1; }
if (a[options.sort_attribute] < b[options.sort_attribute]) { return -1; }
return 0;
});
if (options.sort_descending) { repos.reverse(); }
if (options.count) { repos.splice(options.count); }
render(options.target, repos);
}

View File

@@ -12,6 +12,18 @@
{% set GITHUB_SKIP_FORK = "false" %}
{% endif %}
{% endif %}
{% if GITHUB_SORT_ATTRIBUTE is not defined %}
{% set GITHUB_SORT_ATTRIBUTE = "pushed_at" %}
{% endif %}
{% if GITHUB_SORT_DESCENDING is not defined %}
{% set GITHUB_SORT_DESCENDING = "true" %}
{% else %}
{% if GITHUB_SORT_DESCENDING %}
{% set GITHUB_SORT_DESCENDING = "true" %}
{% else %}
{% set GITHUB_SORT_DESCENDING = "false" %}
{% endif %}
{% endif %}
<section>
<ul class="list-group list-group-flush">
@@ -37,7 +49,9 @@
user: '{{ GITHUB_USER }}',
count: {{ GITHUB_REPO_COUNT }},
skip_forks: {{ GITHUB_SKIP_FORK }},
target: '#gh_repos'
target: '#gh_repos',
sort_attribute: '{{ GITHUB_SORT_ATTRIBUTE }}',
sort_descending: {{ GITHUB_SORT_DESCENDING }}
});
});
</script>