Merge pull request 'add version string loading to portfolio page' (#3) from staging into main
All checks were successful
ci/woodpecker/push/deploy-rsync Pipeline was successful

Reviewed-on: https://code.lila.network///adoralaura/personal-website/pulls/3
This commit is contained in:
Adora Laura Kalb 2024-08-03 19:17:27 +02:00
commit 71bb0761ba
5 changed files with 44 additions and 3 deletions

View file

@ -1,6 +1,9 @@
---
title: "Portfolio"
description: "Adoras Software Development portfolio"
params:
JS:
LatestVersion: true
---
Here you can find a list of projects I worked on or am currently working on:
@ -8,19 +11,22 @@ Here you can find a list of projects I worked on or am currently working on:
## certwarden-deploy
Language: `Go`
Source: [code.lila.network/adoralaura/certwarden-deploy](https://code.lila.network/adoralaura/certwarden-deploy)
Documentation: [certwarden-deploy.adora.codes](https://certwarden-deploy.adora.codes)
Documentation: [certwarden-deploy.adora.codes](https://certwarden-deploy.adora.codes)
Latest Version: {{< latest-forgejo-version "adoralaura/certwarden-deploy" >}}
Deployment tool for (Let's Encrypt) certificates managed by a CertWarden Instance (similar to certbot or acme.sh, just without the ACME stuff)
## Mailcow Alias Automation
Language: `Go`
Source: [code.lila.network/adoralaura/mailcow-admin-aliases](https://code.lila.network/adoralaura/mailcow-admin-aliases)
Source: [code.lila.network/adoralaura/mailcow-admin-aliases](https://code.lila.network/adoralaura/mailcow-admin-aliases)
Latest Version: {{< latest-forgejo-version "adoralaura/mailcow-admin-aliases" >}}
Automates the creation of important admin mail aliases (think security@..., postmaster@...).
## ntppool-exporter
Language: `Go`
Source: [code.lila.network/adoralaura/ntppool-exporter](https://code.lila.network/adoralaura/ntppool-exporter)
Source: [code.lila.network/adoralaura/ntppool-exporter](https://code.lila.network/adoralaura/ntppool-exporter)
Latest Version: {{< latest-forgejo-version "adoralaura/ntppool-exporter" >}}
A Prometheus exporter application that pulls data from the ntppool.org API for a given NTP server and serves it in a Prometheus compatible format.

View file

@ -6,6 +6,7 @@
<title>{{ or .Title .Site.Title }}</title>
{{ partial "head/favicon.html" . }}
{{ partial "head/styling.html" . }}
{{ partial "head/scripts.html" . }}
</head>
<body>
{{ partial "body/nav.html" . }}

View file

@ -0,0 +1,3 @@
{{ if .Page.Params.JS.LatestVersion }}
<script src="/js/latest-version.js" defer></script>
{{ end }}

View file

@ -0,0 +1 @@
<span class="forgejo-version", data-forgejo-repo="{{ .Get 0 }}">currently unavailable</span>

View file

@ -0,0 +1,30 @@
async function FillLatestForgejoRelease() {
const apiPath = `https://forgejo-proxy.services-prod.lila.network/api/v1/code.lila.network/releases`
var forgejoItems = document.getElementsByClassName('forgejo-version')
const requestOptions = {
method: "GET",
redirect: "follow",
};
[...forgejoItems].forEach(async item => {
var repo = item.getAttribute("data-forgejo-repo");
var queryParam = new URLSearchParams({ namespace: repo }).toString()
var response = await fetch(`${apiPath}?${queryParam}`, requestOptions)
if (response.ok) {
item.textContent = await response.text()
}
});
}
FillLatestForgejoRelease()