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
|
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
|
### 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>
|
</script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
51
build.js
51
build.js
|
@ -76,26 +76,7 @@ jsdom.fromFile("./assets/index.html", options).then(function (dom) {
|
||||||
(async () => {
|
(async () => {
|
||||||
try {
|
try {
|
||||||
console.log("Building HTML/CSS...");
|
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}`);
|
var user = await got(`https://api.github.com/users/${username}`);
|
||||||
user = JSON.parse(user.body);
|
user = JSON.parse(user.body);
|
||||||
document.title = user.login;
|
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) {
|
if (program.name) {
|
||||||
populateHTML(('%s', program.name));
|
populateHTML(('%s', program.name));
|
||||||
|
populateRepos(('%s', program.name));
|
||||||
} else {
|
} else {
|
||||||
console.log("Provide a username");
|
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