mirror of
https://github.com/dilllxd/gitfolio.git
synced 2024-08-14 22:28:09 +00:00
Repo list now pulls from a JSON list like Blogs
This commit is contained in:
parent
9949893bf0
commit
79f3b5909e
5 changed files with 101 additions and 21 deletions
|
@ -67,6 +67,11 @@ You can host your website using github pages and use a custom domain aswell or s
|
|||
|
||||
To update your info, follow the same steps shown in `Let's build` part
|
||||
|
||||
The repo list can be updated independently with the following command:
|
||||
|
||||
```
|
||||
$ node repos --name username
|
||||
```
|
||||
|
||||
### Add a Blog
|
||||
|
||||
|
|
|
@ -62,6 +62,25 @@
|
|||
`)
|
||||
}
|
||||
});
|
||||
$.getJSON("repos.json", function(repos){
|
||||
for(var i = 0; i < repos.length; i++){
|
||||
$("#projects").append(`
|
||||
<a href="${repos[i].html_url}" target="_blank">
|
||||
<section>
|
||||
<div class="section_title">${repos[i].name}</div>
|
||||
<div class="about_section">
|
||||
${repos[i].description}
|
||||
</div>
|
||||
<div class="bottom_section">
|
||||
<span><i class="fas fa-code"></i> ${repos[i].language}</span>
|
||||
<span><i class="fas fa-star"></i> ${repos[i].stargazers_count}</span>
|
||||
<span><i class="fas fa-code-branch"></i> ${repos[i].forks_count}</span>
|
||||
</div>
|
||||
</section>
|
||||
</a>
|
||||
`)
|
||||
}
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
51
build.js
51
build.js
|
@ -76,26 +76,7 @@ jsdom.fromFile("./assets/index.html", options).then(function (dom) {
|
|||
(async () => {
|
||||
try {
|
||||
console.log("Building HTML/CSS...");
|
||||
var repos = await got(`https://api.github.com/users/${username}/repos?sort=created`);
|
||||
repos = JSON.parse(repos.body);
|
||||
for(var i = 0;i < repos.length;i++){
|
||||
if(repos[i].fork == false){
|
||||
document.getElementById("projects").innerHTML += `
|
||||
<a href="${repos[i].html_url}" target="_blank">
|
||||
<section>
|
||||
<div class="section_title">${repos[i].name}</div>
|
||||
<div class="about_section">
|
||||
${convertToEmoji(repos[i].description)}
|
||||
</div>
|
||||
<div class="bottom_section">
|
||||
<span><i class="fas fa-code"></i> ${repos[i].language}</span>
|
||||
<span><i class="fas fa-star"></i> ${repos[i].stargazers_count}</span>
|
||||
<span><i class="fas fa-code-branch"></i> ${repos[i].forks_count}</span>
|
||||
</div>
|
||||
</section>
|
||||
</a>`;
|
||||
}
|
||||
}
|
||||
|
||||
var user = await got(`https://api.github.com/users/${username}`);
|
||||
user = JSON.parse(user.body);
|
||||
document.title = user.login;
|
||||
|
@ -155,8 +136,38 @@ jsdom.fromFile("./blog/blog_template.html", options).then(function (dom) {
|
|||
});
|
||||
}
|
||||
|
||||
function populateRepos(username){
|
||||
var repoData = [];
|
||||
(async () => {
|
||||
try {
|
||||
var repos = await got(`https://api.github.com/users/${username}/repos?sort=created`);
|
||||
repos = JSON.parse(repos.body);
|
||||
for(var i = 0;i < repos.length;i++){
|
||||
if(repos[i].fork == false){
|
||||
repoData.push({
|
||||
"html_url": repos[i].html_url,
|
||||
"name": repos[i].name,
|
||||
"description": repos[i].description,
|
||||
"language": repos[i].language,
|
||||
"stargazers_count": repos[i].stargazers_count,
|
||||
"forks_count" :repos[i].forks_count
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
fs.writeFile('./repos/repos.json', JSON.stringify(repoData), function(err){
|
||||
if (err) throw err;
|
||||
console.log('Repos Created Successfully in root folder.');
|
||||
});
|
||||
} catch (error) {
|
||||
console.log(error);
|
||||
}
|
||||
})();
|
||||
}
|
||||
|
||||
if (program.name) {
|
||||
populateHTML(('%s', program.name));
|
||||
populateRepos(('%s', program.name));
|
||||
} else {
|
||||
console.log("Provide a username");
|
||||
}
|
45
repos.js
Normal file
45
repos.js
Normal file
|
@ -0,0 +1,45 @@
|
|||
const program = require('commander');
|
||||
const fs = require('fs');
|
||||
const got = require('got');
|
||||
options = {
|
||||
resources: "usable"
|
||||
};
|
||||
|
||||
program
|
||||
.version('0.1.0')
|
||||
.option('-n, --name [username]', 'get username')
|
||||
.parse(process.argv);
|
||||
|
||||
function populateRepos(username){
|
||||
var repoData = [];
|
||||
(async () => {
|
||||
try {
|
||||
var repos = await got(`https://api.github.com/users/${username}/repos?sort=created`);
|
||||
repos = JSON.parse(repos.body);
|
||||
for(var i = 0;i < repos.length;i++){
|
||||
if(repos[i].fork == false){
|
||||
repoData.push({
|
||||
"html_url": repos[i].html_url,
|
||||
"name": repos[i].name,
|
||||
"description": repos[i].description,
|
||||
"language": repos[i].language,
|
||||
"stargazers_count": repos[i].stargazers_count,
|
||||
"forks_count" :repos[i].forks_count
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
fs.writeFile('repos.json', JSON.stringify(repoData), function(err){
|
||||
if (err) throw err;
|
||||
console.log('Repos Created Successfully in root folder.');
|
||||
});
|
||||
} catch (error) {
|
||||
console.log(error);
|
||||
}
|
||||
})();
|
||||
}
|
||||
if (program.name) {
|
||||
populateRepos(('%s', program.name));
|
||||
} else {
|
||||
console.log("provide a name to scrape repos");
|
||||
}
|
0
repos/repos.json
Normal file
0
repos/repos.json
Normal file
Loading…
Reference in a new issue