const fs = require("fs");
const emoji = require("github-emoji");
const jsdom = require("jsdom").JSDOM,
options = {
resources: "usable"
};
const
{
getConfig,
outDir
} = require("./utils");
const
{
getRepos,
getUser
} = require("./api");
function convertToEmoji(text)
{
if (text == null) return;
text = text.toString();
var pattern = /(?<=:\s*).*?(?=\s*:)/gs;
if (text.match(pattern) != null)
{
var str = text.match(pattern);
str = str.filter(function(arr)
{
return /\S/.test(arr);
});
for (i = 0; i < str.length; i++)
{
if (emoji.URLS[str[i]] != undefined)
{
text = text.replace(
`:${str[i]}:`,
``
);
}
}
return text;
}
else
{
return text;
}
}
module.exports.updateHTML = (username, opts) =>
{
const
{
includeFork,
twitter,
linkedin,
medium,
dribbble,
telegram,
email
} = opts;
//add data to assets/index.html
jsdom
.fromFile(`${__dirname}/assets/index.html`, options)
.then(function(dom)
{
let window = dom.window,
document = window.document;
(async () =>
{
try
{
console.log("Building HTML/CSS...");
const repos = await getRepos(username, opts);
for (var i = 0; i < repos.length; i++)
{
let element;
if (repos[i].fork == false)
{
element = document.getElementById("work_section");
}
else if (includeFork == true)
{
document.getElementById("forks").style.display = "block";
element = document.getElementById("forks_section");
}
else
{
continue;
}
element.innerHTML += `