alexkarle.com

Source for alexkarle.com
git clone git://git.alexkarle.com/alexkarle.com.git
Log | Files | Refs | README | LICENSE

commit 1f5ff21b34235e190dc5e52639cebce72925fc12 (patch)
parent aed8575ae0de045e6e1f5cac1ad02fb6f11d025b
Author: Alex Karle <alex@alexkarle.com>
Date:   Sun,  4 Sep 2022 00:05:32 -0400

theme: Go full Acme/Plan 9

A few commits ago, I explored the idea of using Acme's cream
colored background for my site. It didn't feel quite right,
missing the other elements of the Acme UI. So I settled on
just using it for code blocks.

It was a fun challenge writing the CSS to mock the entire Acme
window (tag and all), and I'm really happy with how it turned
out. I feel like I've spent enough hours in Acme to claim to
be a fan, and my site _did_ need more color than the black on
white.

Diffstat:
Mbin/gencrumbs | 8+++-----
Mbin/genpage | 43++++++++++++++++++-------------------------
Mbin/jam-index.sh | 47++++++++++++++++++-----------------------------
Mwww/index.txt | 16+++++++++++-----
Mwww/jam-tuesday/index.html | 122++++++++++++++++++++++++++++++++++++++++++++++++++++++-------------------------
Mwww/license.txt | 7++++++-
Awww/style.css | 60++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Mwww/uses.txt | 2++
8 files changed, 202 insertions(+), 103 deletions(-)

diff --git a/bin/gencrumbs b/bin/gencrumbs @@ -14,13 +14,11 @@ FILE=$(readlink -f "$1") rel=${FILE##$REPO/www} parts=$(echo "$rel" | sed 's#/# #g') -printf "<small><code><a href=\"/\">/home/alex</a>" -curr="" +printf "/home/alex" for p in $parts; do if [ "$p" = "index.html" ]; then continue fi - curr="$curr/$p" - printf " / <a href=\"$curr\">$p</a>" + printf "/$p" done -echo "</code></small>" +echo diff --git a/bin/genpage b/bin/genpage @@ -16,41 +16,34 @@ cat <<EOM <link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png"> <!-- Inspired by https://www.swyx.io/css-100-bytes/ --> <style> -html { - max-width: 80ch; - padding: 3em 1em; - margin: auto; - font-size: 1em; - font-family: sans-serif; -} -footer { - margin-top: 50px; - font-size: .8em; -} -code { font-family: consolas, courier, monospace; } -h1 { font-size: 1.5em; } -h2 { font-size: 1.2em; } -h3 { font-size: 1.1em; } -blockquote, pre { - background: #ffffea; - overflow: auto; - padding: 10px; - border: 2px solid black; -} +EOM +cat "$REPO/www/style.css" +cat <<EOM </style> <title>$title</title> </head> <body> +<div id="acme"> +<div id="home-tag"> +<a href="/">Home</a> +<a href="/blog">Blog</a> +<a href="/license.html">License</a> +</div> +<div id="tag"> EOM - "$REPO/bin/gencrumbs" "${1%%txt}html" + +cat <<EOM +Del Snarf Get | Look</div> +<div id="content"> +EOM + nihdoc < "$1" cat <<EOM -<footer> - © 2019-2022 Alex Karle | <a href="/">Home</a> | <a href="/license.html">License</a> -</footer> +</div> +</div> </body> </html> EOM diff --git a/bin/jam-index.sh b/bin/jam-index.sh @@ -17,38 +17,29 @@ cat <<EOM <meta name="viewport" content="width=device-width,initial-scale=1"> <!-- Inspired by https://www.swyx.io/css-100-bytes/ --> <style> -html { - max-width: 80ch; - padding: 3em 1em; - margin: auto; - font-size: 1em; - font-family: sans-serif; -} -footer { - margin-top: 50px; - font-size: .8em; -} -code { font-family: consolas, courier, monospace; } -h1 { font-size: 1.5em; } -h2 { font-size: 1.2em; } -h3 { font-size: 1.1em; } -blockquote, code pre { - background: #ffffea; - overflow: auto; - padding: 10px; - border: 2px solid black; -} +EOM +cat "$REPO/www/style.css" +cat <<EOM .jam-artists tr:nth-child(even) { - background-color: #e3e3e3; + background-color: #f2f2bd; } -td.jam-artists, th.jam-artists, table.jam-artists { +table.jam-artists { + margin: 0 auto; border: 1px solid black; } </style> <title>Jam Tuesday Archive</title> </head> <body> -<small><code><a href="/">/home/alex</a> / <a href="/jam-tuesday">jam-tuesday</a></code></small> +<div id="acme"> +<div id="home-tag"> +<a href="/">Home</a> +<a href="/blog">Blog</a> +<a href="/license.html">License</a> +</div> +<div id="tag">/home/alex/jam-tuesday.html +Del Snarf Get | Look</div> +<div id="content"> <h1>Jam Tuesday Archive</h1> <h2>About</h2> <p> @@ -117,11 +108,9 @@ sed 's/.*, *//' "$ALL" | sort -u -f | while read artist; do done cat <<EOM </table> -<br><br> -<p style="font-size: 0.7em">Last Updated: $(date)</p> -<p class="foot-license"> -© 2019-2022 Alex Karle | <a href="/">Home</a> | <a href="/license.html">License</a> -</p> +<p>Last Updated: $(date)</p> +</div> +</div> </body> </html> EOM diff --git a/www/index.txt b/www/index.txt @@ -3,11 +3,13 @@ ## About Me Hi! I'm Alex. I'm a software engineer living near Boston, MA. -My current technical interests include operating systems, -developer tooling, and small internet protocols like -[Gopher](/blog/burrowing.html), but I'm constantly learning new -things that I get excited about. Occasionally, I might write -about it here on my [blog](/blog). +By day I work at [Studio](https://studio.com) as +a backend generalist and infrastructure/tooling specialist. +By night I spend my time exploring niche operating +systems like [Plan 9](/blog/exploring-plan9.html), perusing the +"smolweb" via internet protocols like [Gopher](/blog/burrowing.html), +and sysadmin-ing [several servers](/blog/starting-a-tilde.html). +Occasionally, I might write about it here on my [blog](/blog). Outside of tech, I enjoy playing music, hiking, and a good board game shared among friends. @@ -31,6 +33,10 @@ site buildable by base OpenBSD as a [creative limitation](/blog/creative-coding.html), I took the opportunity to write my own lightweight markup parser, [`nihdoc`](https://git.sr.ht/~akarle/nihdoc). + +Currently, this site is an homage to [Plan 9](https://9p.io/plan9/) +and its editor/interface [Acme](https://en.wikipedia.org/wiki/Acme_%28text_editor%29). + [Stay tuned](/atom.xml) for more! ## Projects Found Here diff --git a/www/jam-tuesday/index.html b/www/jam-tuesday/index.html @@ -5,38 +5,86 @@ <meta name="viewport" content="width=device-width,initial-scale=1"> <!-- Inspired by https://www.swyx.io/css-100-bytes/ --> <style> +/* inlined via bin/genpage to limit network calls */ html { max-width: 80ch; - padding: 3em 1em; margin: auto; font-size: 1em; font-family: sans-serif; + background: #757a76; /* rio gray */ } -footer { - margin-top: 50px; - font-size: .8em; +body { + margin: 12px 0 12px 0; +} +#acme { + border: 4px solid #58a9aa; /* rio aqua */ + background: #ffffea; /* acme yellow */ +} +#content { + margin: 0 12px 0 12px; + padding: 6px; + border-left: 1px solid #9a984b; +} +#home-tag { + width: 100%; + background: #eafeff; + border-bottom: 2px solid black; + padding: 0 4px 0 4px; + box-sizing: border-box; +} +#tag { + display: block; + background: #eafeff; + padding-left: 4px; + border-left: 13px solid #8887c9; + border-bottom: 1px solid #8887c9; } code { font-family: consolas, courier, monospace; } h1 { font-size: 1.5em; } h2 { font-size: 1.2em; } h3 { font-size: 1.1em; } -blockquote, code pre { - background: #ffffea; +blockquote, pre { overflow: auto; padding: 10px; border: 2px solid black; } +::selection { + background: #eeeda0; +} +#tag::selection, #home-tag::selection, #home-tag a::selection { + background: #9fefe7; +} +a { + color: #020097; + text-decoration: none; +} +a:visited { + color: #400070; + text-decoration: none; +} +a:hover { + text-decoration: underline; +} .jam-artists tr:nth-child(even) { - background-color: #e3e3e3; + background-color: #f2f2bd; } -td.jam-artists, th.jam-artists, table.jam-artists { +table.jam-artists { + margin: 0 auto; border: 1px solid black; } </style> <title>Jam Tuesday Archive</title> </head> <body> -<small><code><a href="/">/home/alex</a> / <a href="/jam-tuesday">jam-tuesday</a></code></small> +<div id="acme"> +<div id="home-tag"> +<a href="/">Home</a> +<a href="/blog">Blog</a> +<a href="/license.html">License</a> +</div> +<div id="tag">/home/alex/jam-tuesday.html +Del Snarf Get | Look</div> +<div id="content"> <h1>Jam Tuesday Archive</h1> <h2>About</h2> <p> @@ -74,29 +122,29 @@ instrument is specified, it's me switching to it). We both </ul> <h3>Top 10 Artists (Frequency, Name):</h3> <ul> -<li> 40 The Front Bottoms</li> -<li> 37 Peach Pit</li> -<li> 29 Manchester Orchestra</li> -<li> 16 Vulfpeck</li> -<li> 16 Dr. Dog</li> -<li> 15 The Dear Hunter</li> -<li> 10 Atta Boy</li> -<li> 9 Cage The Elephant</li> -<li> 7 Lake Street Dive</li> -<li> 7 Her's</li> +<li> 40 The Front Bottoms</li> +<li> 37 Peach Pit</li> +<li> 29 Manchester Orchestra</li> +<li> 16 Vulfpeck</li> +<li> 16 Dr. Dog</li> +<li> 15 The Dear Hunter</li> +<li> 10 Atta Boy</li> +<li> 9 Cage The Elephant</li> +<li> 7 Lake Street Dive</li> +<li> 7 Her's</li> </ul> <h3>Top 10 Songs (Frequency, Name):</h3> <ul> -<li> 12 Twin Size Mattress, The Front Bottoms</li> -<li> 11 Rhode Island, The Front Bottoms</li> -<li> 11 Alrighty Aphrodite, Peach Pit</li> -<li> 10 Shadow People, Dr. Dog</li> -<li> 10 Brian's Movie, Peach Pit</li> -<li> 8 The Beers, The Front Bottoms</li> -<li> 8 Jack and Blow, Atta Boy</li> -<li> 6 That I Miss You, Vansire</li> -<li> 6 Lauren, Men I Trust</li> -<li> 6 Drop the Guillotine, Peach Pit</li> +<li> 12 Twin Size Mattress, The Front Bottoms</li> +<li> 11 Rhode Island, The Front Bottoms</li> +<li> 11 Alrighty Aphrodite, Peach Pit</li> +<li> 10 Shadow People, Dr. Dog</li> +<li> 10 Brian's Movie, Peach Pit</li> +<li> 8 The Beers, The Front Bottoms</li> +<li> 8 Jack and Blow, Atta Boy</li> +<li> 6 That I Miss You, Vansire</li> +<li> 6 Lauren, Men I Trust</li> +<li> 6 Drop the Guillotine, Peach Pit</li> </ul> <h2>Setlists</h2> Updated weekly: @@ -126,9 +174,9 @@ Updated weekly: <tr><th>Artist</th><th>Song</th><th>Plays</th></tr> <tr><td>311</td><td>Amber</td><td>1</td></tr> <tr><td>A Great Big Pile Of Leaves</td><td>Alligator Bop</td><td>1</td></tr> +<tr><td>A Tribe Called Quest</td><td>Can I Kick It?</td><td>1</td></tr> <tr><td>Anderson .Paak</td><td>Make It Better</td><td>1</td></tr> <tr><td>Anderson .Paak & Bruno Mars</td><td>Leave the Door Open</td><td>1</td></tr> -<tr><td>A Tribe Called Quest</td><td>Can I Kick It?</td><td>1</td></tr> <tr><td>Atta Boy</td><td>Jack and Blow</td><td>8</td></tr> <tr><td></td><td>Walden Pond</td><td>2</td></tr> <tr><td>Bad Books</td><td>Baby Shoes</td><td>1</td></tr> @@ -163,9 +211,9 @@ Updated weekly: <tr><td>Goo Goo Dolls</td><td>Iris</td><td>1</td></tr> <tr><td>Gorillaz</td><td>Feel Good Inc.</td><td>1</td></tr> <tr><td>Harvey Danger</td><td>Flagpole Sitta</td><td>1</td></tr> -<tr><td>Herbie Hancock</td><td>Chameleon</td><td>3</td></tr> <tr><td>Her's</td><td>Blue Lips</td><td>6</td></tr> <tr><td></td><td>Cool With You</td><td>1</td></tr> +<tr><td>Herbie Hancock</td><td>Chameleon</td><td>3</td></tr> <tr><td>Jay Som</td><td>Baybee</td><td>1</td></tr> <tr><td>Jimmy Eat World</td><td>The Middle</td><td>1</td></tr> <tr><td>John Mayer</td><td>Moving On and Getting Over</td><td>1</td></tr> @@ -181,7 +229,7 @@ Updated weekly: <tr><td></td><td>Hypotheticals</td><td>5</td></tr> <tr><td>Lenny Kravitz</td><td>Fly Away</td><td>1</td></tr> <tr><td>Mac DeMarco</td><td>My Old Man</td><td>2</td></tr> -<tr><td>Mac Miller</td><td>What's the Use</td><td>3</td></tr> +<tr><td>Mac Miller</td><td>What's The Use</td><td>3</td></tr> <tr><td>Manchester Orchestra</td><td>Bed Head</td><td>3</td></tr> <tr><td></td><td>Everything To Nothing</td><td>1</td></tr> <tr><td></td><td>I Can Barely Breathe</td><td>1</td></tr> @@ -260,9 +308,9 @@ Updated weekly: <tr><td>The Head and The Heart</td><td>Honeybee</td><td>1</td></tr> <tr><td></td><td>Lost In My Mind</td><td>2</td></tr> <tr><td></td><td>Rivers and Roads</td><td>2</td></tr> -<tr><td>Theo Katzman</td><td>You Could Be President</td><td>1</td></tr> <tr><td>The Raconteurs</td><td>Steady As She Goes</td><td>1</td></tr> <tr><td>The White Stripes</td><td>We're Going To Be Friends</td><td>1</td></tr> +<tr><td>Theo Katzman</td><td>You Could Be President</td><td>1</td></tr> <tr><td>Third Eye Blind</td><td>Semi Charmed Life</td><td>1</td></tr> <tr><td>Three Doors Down</td><td>Kryptonite</td><td>1</td></tr> <tr><td>Tonic</td><td>If You Could Only See</td><td>1</td></tr> @@ -284,10 +332,8 @@ Updated weekly: <tr><td></td><td>If You're Wondering If I Want You To</td><td>1</td></tr> <tr><td></td><td>The World Has Turned and Left Me Here</td><td>1</td></tr> </table> -<br><br> -<p style="font-size: 0.7em">Last Updated: Fri Sep 2 11:45:17 PM EDT 2022</p> -<p class="foot-license"> -© 2019-2022 Alex Karle | <a href="/">Home</a> | <a href="/license.html">License</a> -</p> +<p>Last Updated: Sun Sep 4 00:03:19 EDT 2022</p> +</div> +</div> </body> </html> diff --git a/www/license.txt b/www/license.txt @@ -5,5 +5,10 @@ licensed under a Creative Commons Attribution 4.0 license [(CC BY 4.0)](https://creativecommons.org/licenses/by/4.0/). Any code snippets, including the -[code used to build this site](https://sr.ht/~akarle/alexkarle.com) +[code used to build this site](https://sr.ht/~akarle/alexkarle.com), are licensed under a [MIT license](/LICENSE). + +The site is made to look like the +[Acme editor](https://en.wikipedia.org/wiki/Acme_%28text_editor%29) +running inside [Plan 9](https://9p.io/plan9/)'s +`rio(1)` window manager. diff --git a/www/style.css b/www/style.css @@ -0,0 +1,60 @@ +/* inlined via bin/genpage to limit network calls */ +html { + max-width: 80ch; + margin: auto; + font-size: 1em; + font-family: sans-serif; + background: #757a76; /* rio gray */ +} +body { + margin: 12px 0 12px 0; +} +#acme { + border: 4px solid #58a9aa; /* rio aqua */ + background: #ffffea; /* acme yellow */ +} +#content { + margin: 0 12px 0 12px; + padding: 6px; + border-left: 1px solid #9a984b; +} +#home-tag { + width: 100%; + background: #eafeff; + border-bottom: 2px solid black; + padding: 0 4px 0 4px; + box-sizing: border-box; +} +#tag { + display: block; + background: #eafeff; + padding-left: 4px; + border-left: 13px solid #8887c9; + border-bottom: 1px solid #8887c9; +} +code { font-family: consolas, courier, monospace; } +h1 { font-size: 1.5em; } +h2 { font-size: 1.2em; } +h3 { font-size: 1.1em; } +blockquote, pre { + overflow: auto; + padding: 10px; + border: 2px solid black; +} +::selection { + background: #eeeda0; +} +#tag::selection, #home-tag::selection, #home-tag a::selection { + background: #9fefe7; +} +a { + color: #020097; + text-decoration: none; +} +a:visited { + color: #400070; + text-decoration: none; +} +a:hover { + text-decoration: underline; +} diff --git a/www/uses.txt b/www/uses.txt @@ -21,6 +21,8 @@ most important tool, it's definitely the most impactful. Other editors I use: +- [`acme(1)`](https://en.wikipedia.org/wiki/Acme_%28text_editor%29) + for fun / in my plan 9 explorations (if you can't tell by the theme) - [`vi(1)`](https://man.openbsd.org/vi.1) for system configs (super snappy on OpenBSD) - [`ed(1)`](https://man.openbsd.org/ed.1) for fun and for slow/serial