Nixos-Config/hosts/NixOracle/site/index.html

66 lines
2 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Lucas Tadeu</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<header>
<h1>Lucas Tadeu</h1>
<p class="dim">tadeu(1) — personal page</p>
</header>
<hr>
<section>
<h2>ABOUT</h2>
<p>Bioprocess engineer and biotechnologist working as a process analyst.<br>
Interested in systems, automation, and open source.</p>
</section>
<section>
<h2>PROJECTS</h2>
<div id="git-projects"><p class="dim">— loading —</p></div>
</section>
<section>
<h2>WRITING</h2>
<p class="dim">— nothing here yet —</p>
</section>
<hr>
<footer>
<a href="mailto:ltadeu6@pm.me">email</a>
<a href="https://github.com/ltadeu6">github</a>
<a href="https://git.tadix.dev">git</a>
<a href="https://jupyter.tadix.dev">jupyter</a>
<a href="https://nextcloud.tadix.dev">nextcloud</a>
</footer>
<script>
(async () => {
const el = document.getElementById('git-projects');
try {
const res = await fetch('https://git.tadix.dev/api/v1/users/ltadeu6/repos?sort=updated&limit=50');
if (!res.ok) throw new Error(res.status);
const repos = await res.json();
const visible = repos.filter(r => !r.archived && !r.fork && !r.empty);
if (!visible.length) {
el.innerHTML = '<p class="dim">— no public repositories —</p>';
return;
}
el.innerHTML = visible.map(r => {
const desc = r.description ? `<span class="dim"> — ${r.description}</span>` : '';
const live = r.website ? `<br><span class="dim"><a href="${r.website}">live</a></span>` : '';
return `<p><a href="${r.html_url}">${r.name}</a>${desc}${live}</p>`;
}).join('');
} catch {
el.innerHTML = '<p class="dim">— could not load repositories —</p>';
}
})();
</script>
</body>
</html>