From 9a10b0638536d3bb3c7beb1de7ca8dd49f2a0da4 Mon Sep 17 00:00:00 2001 From: imfunny <36105478+imfunniee@users.noreply.github.com> Date: Mon, 20 May 2019 15:55:09 +0530 Subject: [PATCH] added star sort --- README.md | 6 +++--- build.js | 8 ++------ populate.js | 19 +++++++++++++++++-- 3 files changed, 22 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index fe8bdc1..81cfce3 100644 --- a/README.md +++ b/README.md @@ -49,10 +49,10 @@ $ node build --name username -f #### Sorting Repos -To sort repos provide `--sort [sortBy]` argument while building. Where `[sort]` can be `created`, `updated`, `pushed`,`full_name`. Default: `created` +To sort repos provide `--sort [sortBy]` argument while building. Where `[sort]` can be `star`, `created`, `updated`, `pushed`,`full_name`. Default: `created` ``` -$ node build --name username --sort created +$ node build --name username --sort star ``` #### Ordering Repos @@ -60,7 +60,7 @@ $ node build --name username --sort created To order the sorted repos provide `--order [orderBy]` argument while building. Where `[orderBy]` can be `asc` or `desc`. Default: `asc` ``` -$ node build --name username --sort created --order desc +$ node build --name username --sort star --order desc ``` #### Customize Themes diff --git a/build.js b/build.js index 533abcf..cbeb65d 100644 --- a/build.js +++ b/build.js @@ -74,14 +74,10 @@ populateCSS(); if (program.name) { let sort = program.sort ? program.sort : 'created'; - let order = -1; + let order = "asc"; let includeFork = false; - if(program.order){ - if(program.order === 'asc') - order = 1; - else if(program.order === 'desc') - order = -1; + order = ('%s', program.order); } if(program.fork){ includeFork = true; diff --git a/populate.js b/populate.js index 8ed9f71..6823d75 100644 --- a/populate.js +++ b/populate.js @@ -34,8 +34,23 @@ module.exports.updateHTML = (username, sort, order, includeFork) => { (async () => { try { console.log("Building HTML/CSS..."); - var repos = await got(`https://api.github.com/users/${username}/repos?sort=${sort}&order=${order}&per_page=1200`); - repos = JSON.parse(repos.body); + var repos; + if(sort == "star"){ + repos = await got(`https://api.github.com/users/${username}/repos?per_page=1200`); + repos = JSON.parse(repos.body); + if(order == "desc"){ + repos = repos.sort(function(a, b) { + return b.stargazers_count - a.stargazers_count; + }); + }else{ + repos = repos.sort(function(a, b) { + return a.stargazers_count - b.stargazers_count; + }); + } + }else{ + repos = await got(`https://api.github.com/users/${username}/repos?sort=${sort}&order=${order}&per_page=1200`); + repos = JSON.parse(repos.body); + } for (var i = 0; i < repos.length; i++) { if(repos[i].fork == false){ document.getElementById("work_section").innerHTML += `