Initial commit

This commit is contained in:
Case Duckworth 2021-02-02 22:09:09 -06:00
commit 7bf4958b38
30 changed files with 626 additions and 0 deletions

15
I/.colophon.html Normal file
View File

@ -0,0 +1,15 @@
colophon
<h2>nef</h2>
now $(wc -c < $0) characters,
a $(((982-$(wc -c < $0))*100/982))% reduction
from <a href="https://git.sr.ht/~acdw/unk">UNK</a>.
<pre><code>$(awk '{
gsub("&", "\\&amp;")
gsub("<", "\\&lt;")
gsub(">", "\\&gt;")
print
}' $0)
</code></pre>

1
I/.license.html Normal file
View File

@ -0,0 +1 @@
license

1
I/blog.html Normal file
View File

@ -0,0 +1 @@
blog

1
I/code.html Normal file
View File

@ -0,0 +1 @@
code

1
I/cooking.html Normal file
View File

@ -0,0 +1 @@
cooking

1
I/dogs.html Normal file
View File

@ -0,0 +1 @@
dogs

33
I/index.html Normal file
View File

@ -0,0 +1,33 @@
Case Duckworth
<img src=S/portrait.png id=portrait>
Hi there. You've stumbled onto my little slice of web heaven. Let me tell you
about myself; that seems to be a pretty common thing people do on personal web
spaces. It's strange, though, isn't it? I mean, if I go over to your house,
you're not going to tell me where you work and what you do in your spare time,
you're just going to ask me if I want a glass of water or something, maybe offer
to give me the nickel tour. Well, I suppose that's what this is, then.
<h2>What do I do?</h2>
Oh, goodness, lots of things.
I <a href="writing.html">write</a> when I have the time,
mostly poetry;
I hang out on tilde servers,
and even <a href="https://breadpunk.club">administer one</a>;
I <a href="cooking.html">cook</a> just about every day;
I love my wife and <a href="dogs.html">our dogs</a>;
sometimes I <a href="noise.html">make noise</a> and record it;
I also <a href="code.html">tinker with code</a>,
mostly Bash and Emacs lisp nowadays.
Sometimes I struggle with my mental health, too,
but I'm working on that.
<h2>Okay, but what about, like, <em>right now</em>?</h2>
Oh, I have a blog!
You can scroll through a <a href="blog.html">big list of all the posts</a>
or read the most recent one right here:
<hr>

1
I/noise.html Normal file
View File

@ -0,0 +1 @@
noise

1
I/writing.html Normal file
View File

@ -0,0 +1 @@
writing

19
L Normal file
View File

@ -0,0 +1,19 @@
<!DOCTYPE html>
<head>
<meta charset=utf-8>
<title>$(T $F)</title>
<link rel=stylesheet type=text/css href=S/acdw.css>
</head>
<body>
<header>
$(Nav I/index.html I/*)
</header>
<main>
<h1>$(T $F)</h1>
$(sed 1d $F|X|awk -vRS= -fR)
</main>
<footer>
<span class=phi>&copy; 2020 Case Duckworth</span>
$(Nav - I/.{license,colophon}.html I/.{rss,atom}.xml)
</footer>
</body>

56
O/.colophon.html Normal file
View File

@ -0,0 +1,56 @@
<!DOCTYPE html>
<head>
<meta charset=utf-8>
<title>colophon</title>
<link rel=stylesheet type=text/css href=S/acdw.css>
</head>
<body>
<header>
<a href="./index.html"
>acdw</a>
<span class=phi>&#x2C77;</span>
<a href="./blog.html"
>blog</a>
<a href="./code.html"
>code</a>
<a href="./cooking.html"
>cooking</a>
<a href="./dogs.html"
>dogs</a>
<a href="./noise.html"
>noise</a>
<a href="./writing.html"
>writing</a>
</header>
<main>
<h1>colophon</h1>
<h2>nef</h2>
<P>now 299 characters,
a 69% reduction
from <a href="https://git.sr.ht/~acdw/unk">UNK</a>.
<pre><code>#!/bin/sh -C
rm -r O;mkdir O;cp -r S O;alias P=echo
X()(eval "$(P "cat&lt;&lt;.";cat;P;P .)")
P&gt;Z 'for F;do X&lt;L&gt;O/${F#I};done'
P&gt;R '!/^&lt;.*&gt;$/{$0="&lt;P&gt;"$0}//'
P&gt;L '&lt;!DOCTYPE html&gt;&lt;title&gt;$(sed q $F)&lt;/title&gt;
$(sed 1d $F|X|awk -vRS= -fR)&lt;hr&gt;/$(for P in I/*
do P "&lt;a href=.${P#I/}&gt;$(sed q $P)&lt;/a&gt;";done)'
. ./Z
</code></pre>
</main>
<footer>
<span class=phi>&copy; 2020 Case Duckworth</span>
<span class=phi>&#x2C77;</span>
<a href="./.license.html"
>license</a>
<a href="./.colophon.html"
class=current
>colophon</a>
<a href="./.rss.xml"
></a>
<a href="./.atom.xml"
></a>
</footer>
</body>

43
O/.license.html Normal file
View File

@ -0,0 +1,43 @@
<!DOCTYPE html>
<head>
<meta charset=utf-8>
<title>license</title>
<link rel=stylesheet type=text/css href=S/acdw.css>
</head>
<body>
<header>
<a href="./index.html"
>acdw</a>
<span class=phi>&#x2C77;</span>
<a href="./blog.html"
>blog</a>
<a href="./code.html"
>code</a>
<a href="./cooking.html"
>cooking</a>
<a href="./dogs.html"
>dogs</a>
<a href="./noise.html"
>noise</a>
<a href="./writing.html"
>writing</a>
</header>
<main>
<h1>license</h1>
</main>
<footer>
<span class=phi>&copy; 2020 Case Duckworth</span>
<span class=phi>&#x2C77;</span>
<a href="./.license.html"
class=current
>license</a>
<a href="./.colophon.html"
>colophon</a>
<a href="./.rss.xml"
></a>
<a href="./.atom.xml"
></a>
</footer>
</body>

42
O/S/acdw.css Normal file
View File

@ -0,0 +1,42 @@
html,body{
font:18px/1.4 serif;
padding:0;
margin:0;
min-height:100vh;
display:flex;
flex-direction:column;
}
main{
max-width:70ch;
height:100%;
padding:0 1ch;
flex:1 0 auto;
background: white;
}
header,footer{
font:80% monospace;
background:#333;
color:white;
padding:2px 0;
}
header a,footer a,.phi {
color:inherit;
text-decoration:none;
margin:0;
padding:2px;
}
header a.current,footer a.current,
header a:hover,footer a:hover{
color:#333;
background:white;
}
#portrait {
float:left;
margin-right: 2ch;
border-radius:50%;
}

BIN
O/S/portrait-sm.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

BIN
O/S/portrait-vsm.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

BIN
O/S/portrait.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

43
O/blog.html Normal file
View File

@ -0,0 +1,43 @@
<!DOCTYPE html>
<head>
<meta charset=utf-8>
<title>blog</title>
<link rel=stylesheet type=text/css href=S/acdw.css>
</head>
<body>
<header>
<a href="./index.html"
>acdw</a>
<span class=phi>&#x2C77;</span>
<a href="./blog.html"
class=current
>blog</a>
<a href="./code.html"
>code</a>
<a href="./cooking.html"
>cooking</a>
<a href="./dogs.html"
>dogs</a>
<a href="./noise.html"
>noise</a>
<a href="./writing.html"
>writing</a>
</header>
<main>
<h1>blog</h1>
</main>
<footer>
<span class=phi>&copy; 2020 Case Duckworth</span>
<span class=phi>&#x2C77;</span>
<a href="./.license.html"
>license</a>
<a href="./.colophon.html"
>colophon</a>
<a href="./.rss.xml"
></a>
<a href="./.atom.xml"
></a>
</footer>
</body>

43
O/code.html Normal file
View File

@ -0,0 +1,43 @@
<!DOCTYPE html>
<head>
<meta charset=utf-8>
<title>code</title>
<link rel=stylesheet type=text/css href=S/acdw.css>
</head>
<body>
<header>
<a href="./index.html"
>acdw</a>
<span class=phi>&#x2C77;</span>
<a href="./blog.html"
>blog</a>
<a href="./code.html"
class=current
>code</a>
<a href="./cooking.html"
>cooking</a>
<a href="./dogs.html"
>dogs</a>
<a href="./noise.html"
>noise</a>
<a href="./writing.html"
>writing</a>
</header>
<main>
<h1>code</h1>
</main>
<footer>
<span class=phi>&copy; 2020 Case Duckworth</span>
<span class=phi>&#x2C77;</span>
<a href="./.license.html"
>license</a>
<a href="./.colophon.html"
>colophon</a>
<a href="./.rss.xml"
></a>
<a href="./.atom.xml"
></a>
</footer>
</body>

43
O/cooking.html Normal file
View File

@ -0,0 +1,43 @@
<!DOCTYPE html>
<head>
<meta charset=utf-8>
<title>cooking</title>
<link rel=stylesheet type=text/css href=S/acdw.css>
</head>
<body>
<header>
<a href="./index.html"
>acdw</a>
<span class=phi>&#x2C77;</span>
<a href="./blog.html"
>blog</a>
<a href="./code.html"
>code</a>
<a href="./cooking.html"
class=current
>cooking</a>
<a href="./dogs.html"
>dogs</a>
<a href="./noise.html"
>noise</a>
<a href="./writing.html"
>writing</a>
</header>
<main>
<h1>cooking</h1>
</main>
<footer>
<span class=phi>&copy; 2020 Case Duckworth</span>
<span class=phi>&#x2C77;</span>
<a href="./.license.html"
>license</a>
<a href="./.colophon.html"
>colophon</a>
<a href="./.rss.xml"
></a>
<a href="./.atom.xml"
></a>
</footer>
</body>

43
O/dogs.html Normal file
View File

@ -0,0 +1,43 @@
<!DOCTYPE html>
<head>
<meta charset=utf-8>
<title>dogs</title>
<link rel=stylesheet type=text/css href=S/acdw.css>
</head>
<body>
<header>
<a href="./index.html"
>acdw</a>
<span class=phi>&#x2C77;</span>
<a href="./blog.html"
>blog</a>
<a href="./code.html"
>code</a>
<a href="./cooking.html"
>cooking</a>
<a href="./dogs.html"
class=current
>dogs</a>
<a href="./noise.html"
>noise</a>
<a href="./writing.html"
>writing</a>
</header>
<main>
<h1>dogs</h1>
</main>
<footer>
<span class=phi>&copy; 2020 Case Duckworth</span>
<span class=phi>&#x2C77;</span>
<a href="./.license.html"
>license</a>
<a href="./.colophon.html"
>colophon</a>
<a href="./.rss.xml"
></a>
<a href="./.atom.xml"
></a>
</footer>
</body>

67
O/index.html Normal file
View File

@ -0,0 +1,67 @@
<!DOCTYPE html>
<head>
<meta charset=utf-8>
<title>Case Duckworth</title>
<link rel=stylesheet type=text/css href=S/acdw.css>
</head>
<body>
<header>
<a href="./index.html"
class=current
>acdw</a>
<span class=phi>&#x2C77;</span>
<a href="./blog.html"
>blog</a>
<a href="./code.html"
>code</a>
<a href="./cooking.html"
>cooking</a>
<a href="./dogs.html"
>dogs</a>
<a href="./noise.html"
>noise</a>
<a href="./writing.html"
>writing</a>
</header>
<main>
<h1>Case Duckworth</h1>
<img src=S/portrait.png id=portrait>
<P>Hi there. You've stumbled onto my little slice of web heaven. Let me tell you
about myself; that seems to be a pretty common thing people do on personal web
spaces. It's strange, though, isn't it? I mean, if I go over to your house,
you're not going to tell me where you work and what you do in your spare time,
you're just going to ask me if I want a glass of water or something, maybe offer
to give me the nickel tour. Well, I suppose that's what this is, then.
<h2>What do I do?</h2>
<P>Oh, goodness, lots of things.
I <a href="writing.html">write</a> when I have the time,
mostly poetry;
I hang out on tilde servers,
and even <a href="https://breadpunk.club">administer one</a>;
I <a href="cooking.html">cook</a> just about every day;
I love my wife and <a href="dogs.html">our dogs</a>;
sometimes I <a href="noise.html">make noise</a> and record it;
I also <a href="code.html">tinker with code</a>,
mostly Bash and Emacs lisp nowadays.
<P>Sometimes I struggle with my mental health, too,
but I'm working on that.
<h2>Okay, but what about, like, <em>right now</em>?</h2>
<P>Oh, I have a blog!
You can scroll through a <a href="blog.html">big list of all the posts</a>
or read the most recent one right here:
<hr>
</main>
<footer>
<span class=phi>&copy; 2020 Case Duckworth</span>
<span class=phi>&#x2C77;</span>
<a href="./.license.html"
>license</a>
<a href="./.colophon.html"
>colophon</a>
<a href="./.rss.xml"
></a>
<a href="./.atom.xml"
></a>
</footer>
</body>

43
O/noise.html Normal file
View File

@ -0,0 +1,43 @@
<!DOCTYPE html>
<head>
<meta charset=utf-8>
<title>noise</title>
<link rel=stylesheet type=text/css href=S/acdw.css>
</head>
<body>
<header>
<a href="./index.html"
>acdw</a>
<span class=phi>&#x2C77;</span>
<a href="./blog.html"
>blog</a>
<a href="./code.html"
>code</a>
<a href="./cooking.html"
>cooking</a>
<a href="./dogs.html"
>dogs</a>
<a href="./noise.html"
class=current
>noise</a>
<a href="./writing.html"
>writing</a>
</header>
<main>
<h1>noise</h1>
</main>
<footer>
<span class=phi>&copy; 2020 Case Duckworth</span>
<span class=phi>&#x2C77;</span>
<a href="./.license.html"
>license</a>
<a href="./.colophon.html"
>colophon</a>
<a href="./.rss.xml"
></a>
<a href="./.atom.xml"
></a>
</footer>
</body>

43
O/writing.html Normal file
View File

@ -0,0 +1,43 @@
<!DOCTYPE html>
<head>
<meta charset=utf-8>
<title>writing</title>
<link rel=stylesheet type=text/css href=S/acdw.css>
</head>
<body>
<header>
<a href="./index.html"
>acdw</a>
<span class=phi>&#x2C77;</span>
<a href="./blog.html"
>blog</a>
<a href="./code.html"
>code</a>
<a href="./cooking.html"
>cooking</a>
<a href="./dogs.html"
>dogs</a>
<a href="./noise.html"
>noise</a>
<a href="./writing.html"
class=current
>writing</a>
</header>
<main>
<h1>writing</h1>
</main>
<footer>
<span class=phi>&copy; 2020 Case Duckworth</span>
<span class=phi>&#x2C77;</span>
<a href="./.license.html"
>license</a>
<a href="./.colophon.html"
>colophon</a>
<a href="./.rss.xml"
></a>
<a href="./.atom.xml"
></a>
</footer>
</body>

1
R Normal file
View File

@ -0,0 +1 @@
!/^<.*>$/{$0="<P>"$0}//

42
S/acdw.css Normal file
View File

@ -0,0 +1,42 @@
html,body{
font:18px/1.4 serif;
padding:0;
margin:0;
min-height:100vh;
display:flex;
flex-direction:column;
}
main{
max-width:70ch;
height:100%;
padding:0 1ch;
flex:1 0 auto;
background: white;
}
header,footer{
font:80% monospace;
background:#333;
color:white;
padding:2px 0;
}
header a,footer a,.phi {
color:inherit;
text-decoration:none;
margin:0;
padding:2px;
}
header a.current,footer a.current,
header a:hover,footer a:hover{
color:#333;
background:white;
}
#portrait {
float:left;
margin-right: 2ch;
border-radius:50%;
}

BIN
S/portrait-sm.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

BIN
S/portrait-vsm.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

BIN
S/portrait.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

34
Z Normal file
View File

@ -0,0 +1,34 @@
# -*- sh -*-
# configuration things
: ${ROOT:=.} # change when publishing
# symbols (?)
PHI="<span class=phi>&#x2C77;</span>"
# functions
Nav() { # Nav <INDEX> <files...>
idx="$1";shift
if [ "x$idx" != "x-" ]; then
echo "<a href=\"$ROOT/index.html\""
[ "$idx" = "$F" ] && echo "class=current"
echo ">acdw</a>"
fi
echo "${PHI}"
for post; do
if [ "$post" != "$idx" ]; then
echo "<a href=\"$ROOT/${post#*/}\""
[ "$post" = "$F" ] && echo "class=current"
echo ">$(T $post)</a>"
fi
done
}
alias T=sed\ q
# redefine X for better logging
X()(P>&2 $F;
eval "$(P "cat<<.";cat;P;P .)")
# MAIN
for F;do X<L>O/${F#I};done

9
nef/nef Executable file
View File

@ -0,0 +1,9 @@
#!/bin/sh -C
rm -r O;mkdir O;cp -r S O;alias P=echo
X()(eval "$(P "cat<<.";cat;P;P .)")
P>Z 'for F;do X<L>O/${F#I};done'
P>R '!/^<.*>$/{$0="<P>"$0}//'
P>L '<!DOCTYPE html><title>$(sed q $F)</title>
$(sed 1d $F|X|awk -vRS= -fR)<hr>/$(for P in I/*
do P "<a href=.${P#I/}>$(sed q $P)</a>";done)'
. ./Z