aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.build.yml2
-rwxr-xr-xbarf59
-rw-r--r--footer.html18
-rw-r--r--header.html8
-rw-r--r--index.md10
-rw-r--r--pages/about.md38
-rw-r--r--pages/donate.md21
-rw-r--r--pages/now.md15
-rw-r--r--pages/projects.md10
-rw-r--r--pages/resume.md8
-rw-r--r--pages/services.md6
-rw-r--r--pages/uses.md37
12 files changed, 142 insertions, 90 deletions
diff --git a/.build.yml b/.build.yml
index 5a1fb27..caba076 100644
--- a/.build.yml
+++ b/.build.yml
@@ -7,7 +7,7 @@ secrets:
- 4c5cebdb-c744-4dfb-a69a-30b9bdfe048c
sources:
- https://git.sr.ht/~adamski/adast.dk
- - https://git.btxx.org/smu
+ - https://git.sr.ht/~bt/smu
environment:
deploy: srht@adast.dk
mirror: mirror.adast.dk
diff --git a/barf b/barf
index 81bbcd2..f77512d 100755
--- a/barf
+++ b/barf
@@ -1,4 +1,19 @@
#!/bin/sh
+
+domain="https://adast.dk"
+
+# Check the operating system
+os_name=$(uname -s)
+
+if [ "$os_name" = "OpenBSD" ]; then
+ alias sed=gsed
+ alias date=gdate
+ alias rsync=openrsync
+elif [ "$os_name" = "Darwin" ]; then
+ alias sed=gsed
+ alias date=gdate
+fi
+
set -eu
MARKDOWN=smu
IFS=' '
@@ -20,13 +35,13 @@ index_html() {
# Intro text
$MARKDOWN index.md
- echo "<ul>"
+ echo '<ul class="posts">'
# Posts
while read -r f title created; do
link=$(echo "$f" | sed -E 's|.*/(.*).md|\1/|')
created=$(echo $(head -3 "$f" | tail -1))
- echo "<li>$created &middot; <a href=\"$link\">$title</a></li>"
+ echo "<li><span>$created</span><a href=\"$link\">$title</a></li>"
done < "$1" | sort -r
echo "</ul>"
@@ -37,7 +52,6 @@ index_html() {
atom_xml() {
uri=$(sed -rn '/atom.xml/ s/.*href="([^"]*)".*/\1/ p' header.html)
- domain=$(echo "$uri" | sed 's/atom.xml//g' | sed 's|/[^/]*$||')
first_commit_date=$(git log --pretty='format:%ai' . | cut -d ' ' -f1 | tail -1)
cat <<EOF
@@ -74,6 +88,44 @@ EOF
echo '</feed>'
}
+rss_xml() {
+ uri=$(sed -rn '/rss.xml/ s/.*href="([^"]*)".*/\1/ p' header.html)
+ first_commit_date=$(git log --pretty='format:%ai' . | cut -d ' ' -f1 | tail -1)
+
+ cat <<EOF
+<?xml version="1.0" encoding="utf-8"?>
+<rss version="2.0">
+ <channel>
+ <title>$(sed -n '/^# /{s/# //p; q}' index.md)</title>
+ <link>$domain/rss.xml</link>
+ <description>Adam Stück's blog</description>
+ <lastBuildDate>$(date -u +"%a, %d %b %Y %H:%M:%S %z")</lastBuildDate>
+ <pubDate>$(date -u +"%a, %d %b %Y %H:%M:%S %z")</pubDate>
+ <generator>Custom RSS Generator</generator>
+ <ttl>1800</ttl>
+EOF
+
+ while read -r f title created; do
+ content=$($MARKDOWN "$f" | sed 's/&/\&amp;/g; s/</\&lt;/g; s/>/\&gt;/g; s/"/\&quot;/g; s/'"'"'/\&#39;/g')
+ post_link=$(echo "$f" | sed -E 's|posts/(.*).md|\1|')
+ basic_date=$(echo $(head -3 "$f" | tail -1))
+ published_date=$(date -d "$basic_date" -u +"%a, %d %b %Y %H:%M:%S %z")
+
+ cat <<EOF
+ <item>
+ <title>$title</title>
+ <description>$content</description>
+ <link>$domain/$post_link</link>
+ <guid isPermaLink="false">$domain/$post_link</guid>
+ <pubDate>$published_date</pubDate>
+ </item>
+EOF
+ done < "$1"
+
+ echo '</channel>'
+ echo '</rss>'
+}
+
write_page() {
filename=$1
directory=$(echo $(basename "$filename" .md))
@@ -94,6 +146,7 @@ rm -rf build && mkdir build
index_tsv posts | sort -rt " " -k 3 > build/posts.tsv
index_html build/posts.tsv > build/index.html
atom_xml build/posts.tsv > build/atom.xml
+rss_xml build/posts.tsv > build/rss.xml
while read -r f title created; do
write_page "$f" "$title" "$created"
done < build/posts.tsv
diff --git a/footer.html b/footer.html
index 64aa25f..8d03441 100644
--- a/footer.html
+++ b/footer.html
@@ -1,19 +1,19 @@
+<hr/>
<footer role="contentinfo">
- <hr>
- <h3 id="menu">Menu Navigation</h3>
- <ul>
+ <h2>Menu Navigation</h2>
+ <ul id="menu">
<li><a href="/">Home</a></li>
+ <li><a href="/projects">Projects</a></li>
<li><a href="/services">Services</a></li>
- <li><a href="/resume">Resume</a></li>
- <li><a href="/about">About</a></li>
<li><a href="/uses">Uses</a></li>
+ <li><a href="/resume">Resume</a></li>
+ <li><a href="/now">Now</a></li>
<li><a href="/donate">Donate</a></li>
- <li><a href="https://adast.dk/feed">RSS</a></li>
- <li><a href="#top">&uarr; Top of the page</a></li>
+ <li><a href="#top">↑ Top of the page</a></li>
</ul>
<small>
- Built with <a href="https://git.btxx.org/barf">barf</a>. <br>
- Maintained with ♥ for the web. <br>
+ Feeds: <a href="/atom.xml">Atom</a> | <a href="/rss.xml">RSS</a> <br>
+ Built with <a href="https://barf.btxx.org">barf</a>. <br>
The content for this site is <a href="https://creativecommons.org/licenses/by-sa/4.0/">CC-BY-SA</a>.<br>
The <a href="https://git.sr.ht/~adamski/adast.dk">code for this site</a> is <a href="https://git.sr.ht/~adamski/adast.dk/tree/main/item/LICENSE">MIT</a>.
</small>
diff --git a/header.html b/header.html
index a320db6..5cd59d6 100644
--- a/header.html
+++ b/header.html
@@ -7,11 +7,13 @@
<link rel="icon" href="data:,">
<title>{{TITLE}}</title>
<link href="https://adast.dk/feed" type="application/atom+xml" rel="alternate" title="Atom feed for blog posts" />
- <style>*{box-sizing:border-box;}body{font-family:sans-serif;margin:0 auto;max-width:650px;padding:1rem;}img{max-width:100%;}pre{overflow:auto;}table{text-align:left;width:100%;}</style>
+ <style>*{box-sizing:border-box;}body{font-family:sans-serif;line-height:1.33;margin:0
+auto;max-width:650px;padding:1rem;}blockquote{border-left:4px
+ solid;padding-left:5px;}img{max-width:100%;}pre{border:1px solid;overflow:auto;padding:5px;}table{text-align:left;width:100%;}.posts,#menu{list-style:none;padding:0;}.posts li{margin-bottom:8px;}.posts li span{display:block;font-size:90%;}#menu li{display:inline-block;margin-right:8px;}.footnotes{font-size:90%;}</style>
</head>
-<nav>
- <a href="#menu">Menu &darr;</a>
+<nav id="top">
+ <a href="/">Home</a><span>&nbsp;|&nbsp;</span><a href="#menu">Menu ↓</a>
</nav>
<main>
diff --git a/index.md b/index.md
index a755b5e..d9db269 100644
--- a/index.md
+++ b/index.md
@@ -1 +1,9 @@
-# Adam Stück's blog
+# ~adamski
+
+**Software engineer and linux system administrator living in Aalborg (DK).**
+
+I'm passionate about open source software, usability, performance, privacy, and
+minimal design. Welcome to my corner of the web. You'll find one or two blog
+posts, self-hosted web services, and other stuff. Have a look around!
+
+<hr>
diff --git a/pages/about.md b/pages/about.md
deleted file mode 100644
index 366a62f..0000000
--- a/pages/about.md
+++ /dev/null
@@ -1,38 +0,0 @@
-# About me
-
-I'm a software engineer and sysadmin living in Aalborg (DK).
-
-I'm passionate about open source software, usability, performance, privacy, and
-minimal design. Welcome to my corner of the web. You'll find one or two blog
-posts, self-hosted web services, and other stuff. Have a look around!
-
-## <a name="projects"></a>Projects
-
-* [adast.dk](https://sr.ht/~adamski/adast.dk): Personal platform
-* [arena](https://arena.adast.dk): Quake-like multiplayer FPS
-
-## <a name="links"></a>Links
-
-- code: [SourceHut](https://sr.ht/~adamski), [GitHub](https://github.com/adastx)
-- video/stream: [my PeerTube](https://tv.adast.dk/a/adam)
-- adast.dk [mirror](https://mirror.adast.dk)
-
-## <a name="contact"></a>Contact
-
-* [Email](mailto:adam@adast.dk) ([PGP](https://meta.sr.ht/~adamski.pgp))
-* [XMPP](xmpp:adam@adast.dk)
-
-Have a comment on one of my posts? Start a discussion in [my public
-inbox](https://lists.sr.ht/~adamski/public-inbox) by sending an email to
-[~adamski/public-inbox@lists.sr.ht](mailto:~adamski/public-inbox@lists.sr.ht)
-([mailing list etiquette](https://man.sr.ht/lists.sr.ht/etiquette.md))
-
-## <a name="now"></a>Now
-
-Based off the [now page concept](https://nownownow.com/about) by Derek Sivers.
-
-**Updated August 5, 2024**
-
-- Exploring Denmark on a Kawasaki Ninja 500!
-- Sometimes sailing a [small boat](/public/mini12m.avif)
-- Training boxing 🥊
diff --git a/pages/donate.md b/pages/donate.md
index b7e759a..9422f35 100644
--- a/pages/donate.md
+++ b/pages/donate.md
@@ -1,24 +1,15 @@
# Donate
-If you feel the burning desire to help support this small blog of mine, please
-take a look at the options below. You can still enjoy everything on this blog
-for free, so please don't feel obligated to donate.
-
-## How are donations used?
-
-That's a good question. Almost all money donated goes towards hosting, domain
-renewal costs and [open source services I use myself](/uses). Anything "extra"
-ends up getting me a coffee (or beer) to enjoy while I publish more free (and
-hopefully useful) content.
+Almost all money donated goes towards hosting, domain renewal costs and [open
+source services I use myself](/uses).
### Standard Donations
I currently don't have any options for standard donation.
+[TODO](https://todo.sr.ht/~adamski/adast.dk/8)
### Hetzner Referral
-For the web/software folk looking for a deal on server hosting: consider
-using my Hetzner [referral link](https://hetzner.cloud/?ref=bXrpw5w6RQon),
-and get 20 EUR of cloud credits for free. That's roughly 2-4 months
-of hosting depending on the specs you choose. If you like the service
-and end up spending 20 EUR later on, I receive 20 EUR in credits too.
+For the web/software folk looking for a deal on server hosting: consider using
+my Hetzner [referral link](https://hetzner.cloud/?ref=bXrpw5w6RQon), and get 20
+EUR of cloud credits for free.
diff --git a/pages/now.md b/pages/now.md
new file mode 100644
index 0000000..43d8c54
--- /dev/null
+++ b/pages/now.md
@@ -0,0 +1,15 @@
+# Now
+
+This page is based off the [now page concept](https://nownownow.com/about) by Derek Sivers.
+
+## Work
+
+- Working as a linux sysadmin & software engineer hybrid
+
+## Life
+
+- Exploring Denmark on a Kawasaki Ninja 500
+- Sometimes sailing a [small boat](/public/mini12m.avif)
+- Training boxing 🥊
+
+Last update: **August 8, 2024**
diff --git a/pages/projects.md b/pages/projects.md
new file mode 100644
index 0000000..330827e
--- /dev/null
+++ b/pages/projects.md
@@ -0,0 +1,10 @@
+# Projects
+
+This page is a growing collection of active (and not-so-active) projects I am working on.
+
+Most of my projects are hosted on: [sourcehut](https://sr.ht/~adamski) or [github](https://github.com/adastx)
+
+## Active Projects
+
+* [adast.dk](https://sr.ht/~adamski/adast.dk): Personal platform
+* [arena](https://arena.adast.dk): Quake-like multiplayer FPS
diff --git a/pages/resume.md b/pages/resume.md
index 8bc4104..478d945 100644
--- a/pages/resume.md
+++ b/pages/resume.md
@@ -1,4 +1,4 @@
-# Adam Stück
+# Adam Moloney Stück
**Software Engineer & Linux System Administrator**<br>
adam@adast.dk<br>
@@ -169,10 +169,12 @@ dl dd:not(:last-child) {
- Web accessibility
- Performance and utilization
- Software security and privacy
-- Minimal user interface design
- Linux systems
+- Minimal user interface design
+- Detailed documentation
+- Optimizing build times and version control
-Other: sailing, hiking/camping, permaculture, solarpunk, game dev, guitar.
+Other: sailing, hiking/camping, permaculture, game dev, guitar.
## References
diff --git a/pages/services.md b/pages/services.md
index 99aef9a..58a1997 100644
--- a/pages/services.md
+++ b/pages/services.md
@@ -1,5 +1,9 @@
# Services
+This page provides links to the growing number of open source services I host.
+
+## Public
+
- [Freetar](https://tabs.adast.dk): Frontend for ultimate-guitar.com
- [SearXNG](https://search.adast.dk): Metasearch engine
- ([short URL](https://s.adast.dk))
@@ -10,7 +14,7 @@
- Email, VPN, XMPP
- [MediaMTX](https://live.adast.dk): Low-latency live streams
- [Mumble](mumble://mumble.adast.dk): Low-latency voice chat
-- [Nextcloud](https://cloud.adast.dk): Cloud, calendar, contacts
+- [Nextcloud](https://cloud.adast.dk): Cloud file storage, calendar, contacts
- [PeerTube](https://tv.adast.dk): Video/stream platform
- [Radicale](https://cal.adast.dk): Calendar and contacts
diff --git a/pages/uses.md b/pages/uses.md
index bf23328..e25ffc5 100644
--- a/pages/uses.md
+++ b/pages/uses.md
@@ -1,4 +1,4 @@
-# Things I use
+# Things I Use
This page contains a somewhat up-to-date listing of hardware and software that I currently use.
Seeing similar pages on other people's personal websites have proved quite valuable to me, so I figured I would do the same!
@@ -12,31 +12,39 @@ I'm proud to support open source products and privacy-respecting communities. Th
|[sourcehut](https://sourcehut.org)<br>Open source code forge.|$50|
|[trom](https://trom.tf)<br>Trade-free services.|$60|
-## Machines
+## Work Laptop
+
+> TODO: fill out this section
+
+- **ThinkPad T16 Gen [?]** (Daily Driver)
+ - CPU: [...]
+ - RAM: 32 GB
+ - Storage: [??]
+ - OS: Kubuntu
+
+## Personal Machines
- **Acer Swift 1** <small>SF114-32</small>
- CPU: Intel Pentium Silver <small>N5000</small>
- RAM: 8 GB
- - Storage: 250 GB SSD
+ - Storage: 250 GB
- OS: Arch Linux
- **Desktop**
- CPU: Ryzen 7 3700X
- - GPU: RTX 2080S
- - RAM: 16 GB 3200 Mhz
+ - GPU: RTX 2080 Super
+ - RAM: 16 GB
- OS: Arch Linux
-- **Pocofone F1**
+- **Pocofone F1 (2018)**
- OS: LineageOS
## Accessories
-|Name|Description|
-|---|---|
-|[crkbd](https://github.com/foostan/crkbd)|Split, columnar-staggered, ortholinear keyboard|
-|BLON BL-03|Cheap and cheerful IEMs|
-|Drop HD58X|Open-backed headphones|
-|Dell U2520D|25", 1440p, Good colours, Ports galore!|
+- [crkbd](https://github.com/foostan/crkbd)
+- BLON BL-03 IEMs
+- Drop HD58X headphones
+- Dell U2520D monitor
## Software
@@ -50,9 +58,6 @@ I'm proud to support open source products and privacy-respecting communities. Th
- sway/i3wm
- Thunderbird
- vim
+- [miryoku](https://github.com/manna-harbour/miryoku)
For configs and more, have a look at my [dotfiles](https://git.sr.ht/~adamski/dotfiles/tree/laptop/item/.config).
-
-## Misc
-
-* Colemak-DH keyboard layout.