diff --git a/assets/css/custom.css b/assets/css/custom.css
index fc01789..6c3346f 100644
--- a/assets/css/custom.css
+++ b/assets/css/custom.css
@@ -1,12 +1,12 @@
-/* email printing */
-span.myemail b {
- display: none;
-}
/* Increase the default font size */
/* html { */
/* font-size: 15pt; */
/* } */
-
+.svg-linkemail {
+ width: 370px;
+ height: 48px;
+ vertical-align: middle;
+}
/* .toc { */
/* overflow: scroll; */
/* } */
diff --git a/assets/js/link-interaction.js b/assets/js/link-interaction.js
deleted file mode 100644
index 29f9099..0000000
--- a/assets/js/link-interaction.js
+++ /dev/null
@@ -1,47 +0,0 @@
-"use strict";
-
-document.addEventListener("DOMContentLoaded", function () {
- const listener = new Listener();
-
- listener.decode = function () {
- const a = document.getElementById("link-interaction");
-
- a.setAttribute(
- "href",
- a
- .getAttribute("href")
- .replace("o", "qual.luck1288")
- .replace("-", "@")
- .replaceAll("R-", "j")
- .replace("/", "tunjyf.com")
- .replace("t", "mailto:e"),
- );
- };
-
- listener.on();
-});
-
-// Listener
-
-function Listener() {}
-
-Listener.prototype.decode = null;
-
-Listener.prototype.on = function () {
- this.listener = this.__onInteraction.bind(this);
-
- document.addEventListener("mouseenter", this.listener, true);
- document.addEventListener("focus", this.listener, true);
-};
-
-Listener.prototype.off = function () {
- document.removeEventListener("mouseenter", this.listener, true);
- document.removeEventListener("focus", this.listener, true);
-
- delete this.listener;
-};
-
-Listener.prototype.__onInteraction = function () {
- this.off();
- this.decode();
-};
diff --git a/assets/js/text-interaction.js b/assets/js/text-interaction.js
deleted file mode 100644
index 1949b0d..0000000
--- a/assets/js/text-interaction.js
+++ /dev/null
@@ -1,45 +0,0 @@
-"use strict";
-
-document.addEventListener("DOMContentLoaded", function () {
- const listener = new Listener();
-
- listener.decode = function () {
- const email = document.getElementById("text-interaction").firstChild;
-
- email.nodeValue = email.nodeValue
- .replace("ity ", ".")
- .replaceAll("Y", "y1288")
- .replace(" ", "@")
- .replace("north", "qtztsjo")
- .replace(" side", "smprqmgtunj")
- .replaceAll(" ", ".")
- .replace(".stream", "yf");
- };
-
- listener.on();
-});
-
-// Listener
-
-function Listener() {}
-
-Listener.prototype.decode = null;
-
-Listener.prototype.on = function () {
- this.listener = this.__onInteraction.bind(this);
-
- document.addEventListener("mouseenter", this.listener, true);
- document.addEventListener("focus", this.listener, true);
-};
-
-Listener.prototype.off = function () {
- document.removeEventListener("mouseenter", this.listener, true);
- document.removeEventListener("focus", this.listener, true);
-
- delete this.listener;
-};
-
-Listener.prototype.__onInteraction = function () {
- this.off();
- this.decode();
-};
diff --git a/content/about/index.md b/content/about/index.md
index 6fc37bb..f6ccb66 100644
--- a/content/about/index.md
+++ b/content/about/index.md
@@ -4,7 +4,7 @@ date: 2019-08-21
coverCaption: >
Längenfeld at the evening.
Photo taken near [Astlehn/Fischbach](https://www.openstreetmap.org/?mlat=47.062377833333336&mlon=10.959586666666667#map=15/47.062377833333336/10.959586666666667).
-lastmod: 2024-12-26T18:07:46+0000
+lastmod: 2024-12-26T22:24:53+0000
comment: false
aliases:
- /about/to-qtztsR-osmprqmg/
@@ -54,19 +54,6 @@ myself up enough to go out in the field when I'm just hungry (and tired)
I usually participate in the following [Winlink](https://winlink.org/) nets:
-### [Winlink Wednesday](https://winlinkwednesday.net/)
-
-> The original Winlink Wednesday is a weekly amateur radio digital
-> net where check-ins are accomplished by using the Winlink (global
-> email via amateur radio) system.
-
-> The primary purpose of Winlink Wednesday is to encourage the regular
-> use of the Winlink system among amateur radio operators by providing an
-> opportunity to expand their skills with Winlink, and to practice them
-> on a regular basis.
-
-I think this summarizes the Winlink Wednesday pretty well.
-
### [WLNET-OE](https://groups.io/g/WLNET-OE)
This is a german speaking net currently maintained by Patrick, OE1LHP.
@@ -81,14 +68,29 @@ To quote the groups.io description:
I try to participate every week.
-{{< comment >}}
+### [Winlink Wednesday](https://winlinkwednesday.net/)
+
+> The original Winlink Wednesday is a weekly amateur radio digital
+> net where check-ins are accomplished by using the Winlink (global
+> email via amateur radio) system.
+
+> The primary purpose of Winlink Wednesday is to encourage the regular
+> use of the Winlink system among amateur radio operators by providing an
+> opportunity to expand their skills with Winlink, and to practice them
+> on a regular basis.
+
+_Winlink Wednesday_ requires the operator to send the mail via RF (not telnet).
+I have to either set up an antenna at my home QTH or drive near the next VHF
+gateway to participate in this net.
+
+I also try to participate every week, but it is sometimes hard to stay on course after work.
### [FFWN](https://w0rmt.net/ffwn/)
Well, I'm not so active on Mastodon (in terms of writing posts) but I
occassionally participate in the net when I find the time.
-Also to quote the website:
+To quote the website:
> For those operators who are active on federated social media (the “Fediverse”;
> i.e., Mastodon), there is a weekly Winlink net called the #FediFridayWinlinkNet
@@ -97,7 +99,6 @@ Also to quote the website:
Find out more by following the hastag [#FFWN](https://mastodon.radio/tags/FFWN)
(example link -- follow it on an instance that you like/prefer).
-{{< /comment >}}
## About this website
@@ -122,20 +123,20 @@ any time (although it is online since 2019 -- I used other domain names before t
## Contact
-**_These are new keys since Dec 24 2024!_**
-{.lead}
+My email address is
-Use equality luckY north side stream.com
-to send me emails.
+
-Feel free to encrypt your message with OpenPGP:
+I prefer plain text emails over html formatted emails, but any type of text is fine.
+
+My GPG key is ==9B20D3D4AD32F0F2== -- the fingerprint is below:
```
4B61 5B54 381D 7F01 3647 5EDE 9B20 D3D4 AD32 F0F2
```
-My public key is on [keys.openpgp.org][key] or on [my website][web] (2.5 KB).
+My public key is on [keys.openpgp.org][key] or on [my website][web] (2.5 KB). They
+should both contain user-ids.
[key]: https://keys.openpgp.org/search?q=4B615B54381D7F0136475EDE9B20D3D4AD32F0F2
[web]: /files/9B20D3D4AD32F0F2.asc
@@ -147,10 +148,9 @@ personal website**.
## Server location and networking
-The website is served from Austria, Vienna - a datacenter from Anexia (Netcup).
+The website is served from Austria, Vienna -- a datacenter from Anexia (Netcup).
GNU/Linux is the host system that serves the websites with Apache at _(celeste.)oe7drt.com_.
-Some scripts still run on the old host at _bor.oe7drt.com_ which runs OpenBSD 7.5.
-Moving these script to the Linux host is already in progress (when time allows) and
-I don't think I will upgrade the host to OpenBSD 7.6.
+Some scripts still run on the old host at _bor.oe7drt.com_ which runs OpenBSD.
+Moving these script to the Linux host is nearly finished.
diff --git a/layouts/partials/extend-head.html b/layouts/partials/extend-head.html
index e592460..83bb500 100644
--- a/layouts/partials/extend-head.html
+++ b/layouts/partials/extend-head.html
@@ -1,55 +1,41 @@
{{ partial "plausible_head.html" . }}
-{{ with resources.Get "js/text-interaction.js" }}
- {{ if hugo.IsDevelopment }}
- {{ with . | js.Build }}
-
- {{ end }}
- {{ else }}
- {{ $opts := (dict "minify" true "targetPath" "js/txt.js") }}
- {{ with . | js.Build $opts | fingerprint }}
-
- {{ end }}
- {{ end }}
-{{ end }}
-
-{{ with resources.Get "js/link-interaction.js" }}
- {{ if hugo.IsDevelopment }}
- {{ with . | js.Build }}
-
- {{ end }}
- {{ else }}
- {{ $opts := (dict "minify" true "targetPath" "js/lnk.js") }}
- {{ with . | js.Build $opts | fingerprint }}
-
- {{ end }}
- {{ end }}
-{{ end }}
-
-{{ with resources.Get "js/lightbox.js" }}
- {{ if hugo.IsDevelopment }}
- {{ with . | js.Build }}
-
- {{ end }}
- {{ else }}
- {{ $opts := (dict "minify" true "targetPath" "js/lightbox.js") }}
- {{ with . | js.Build $opts | fingerprint }}
-
- {{ end }}
- {{ end }}
-{{ end }}
-
-{{ with resources.Get "css/lightbox.css" }}
- {{ if hugo.IsDevelopment }}
- {{ with . }}
-
- {{ end }}
- {{ else }}
- {{ with . | fingerprint }}
-
- {{ end }}
- {{ end }}
-{{ end }}
+{{ with resources.Get "js/lightbox.js" }} {{ if hugo.IsDevelopment }} {{ with .
+| js.Build }}
+
+{{ end }} {{ else }} {{ $opts := (dict "minify" true "targetPath"
+"js/lightbox.js") }} {{ with . | js.Build $opts | fingerprint }}
+
+{{ end }} {{ end }} {{ end }} {{ with resources.Get "css/lightbox.css" }} {{ if
+hugo.IsDevelopment }} {{ with . }}
+
+{{ end }} {{ else }} {{ with . | fingerprint }}
+
+{{ end }} {{ end }} {{ end }}
diff --git a/static/icons/linkemail.svg b/static/icons/linkemail.svg
new file mode 100644
index 0000000..6b9c716
--- /dev/null
+++ b/static/icons/linkemail.svg
@@ -0,0 +1,52 @@
+