Homepage: static project list with descriptions from READMEs
This commit is contained in:
parent
63ed960353
commit
c08f061187
1 changed files with 16 additions and 23 deletions
|
|
@ -22,7 +22,22 @@
|
|||
|
||||
<section>
|
||||
<h2>PROJECTS</h2>
|
||||
<div id="git-projects"><p class="dim">— loading —</p></div>
|
||||
<p>
|
||||
<a href="https://git.tadix.dev/ltadeu6/BioLab">BioLab</a>
|
||||
<span class="dim"> — web tool for kinetic parameter estimation from experimental growth data.<br>
|
||||
Fits seven microbial models simultaneously via PSO and ranks results by AIC.</span>
|
||||
<br><span class="dim"><a href="https://biolab.tadix.dev">live</a></span>
|
||||
</p>
|
||||
<p>
|
||||
<a href="https://git.tadix.dev/ltadeu6/matrix-android">matrix-android</a>
|
||||
<span class="dim"> — minimal Android Matrix client with a terminal aesthetic.<br>
|
||||
Text-only, E2EE via libolm, SSO login, push via a self-hosted Cloudflare Worker.</span>
|
||||
</p>
|
||||
<p>
|
||||
<a href="https://git.tadix.dev/ltadeu6/Nixos-Config">nixos-config</a>
|
||||
<span class="dim"> — NixOS and Home Manager config for desktop and Oracle VPS.<br>
|
||||
Covers system services, secrets via agenix, Hyprland, and self-hosted infrastructure.</span>
|
||||
</p>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
|
|
@ -40,27 +55,5 @@
|
|||
<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>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue