diff options
-rw-r--r-- | .build.yml | 2 | ||||
-rwxr-xr-x | barf | 59 | ||||
-rw-r--r-- | footer.html | 18 | ||||
-rw-r--r-- | header.html | 8 | ||||
-rw-r--r-- | index.md | 10 | ||||
-rw-r--r-- | pages/about.md | 38 | ||||
-rw-r--r-- | pages/donate.md | 21 | ||||
-rw-r--r-- | pages/now.md | 15 | ||||
-rw-r--r-- | pages/projects.md | 10 | ||||
-rw-r--r-- | pages/resume.md | 8 | ||||
-rw-r--r-- | pages/services.md | 6 | ||||
-rw-r--r-- | pages/uses.md | 37 |
12 files changed, 142 insertions, 90 deletions
@@ -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 @@ -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 · <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/&/\&/g; s/</\</g; s/>/\>/g; s/"/\"/g; s/'"'"'/\'/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">↑ 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 ↓</a> +<nav id="top"> + <a href="/">Home</a><span> | </span><a href="#menu">Menu ↓</a> </nav> <main> @@ -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. |