summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rw-r--r--about/index.html.tmpl49
-rw-r--r--about/index.md28
-rw-r--r--index.html.tmpl7
-rw-r--r--notes/index.html.tmpl39
-rw-r--r--notes/index.md12
-rw-r--r--projects/index.html.tmpl49
-rw-r--r--projects/index.md25
-rw-r--r--site.tmpl6
-rw-r--r--style.css5
10 files changed, 80 insertions, 141 deletions
diff --git a/.gitignore b/.gitignore
index 179c23c..0328990 100644
--- a/.gitignore
+++ b/.gitignore
@@ -51,6 +51,7 @@
/notes/sync/recipes/spaghetti-with-marinara.html
/notes/sync/recipes/turkey-chili.html
/notes/sync/technologies/freebsd/pf.html
+/notes/sync/technologies/index.html
/projects/index.html
/weblog/a-new-post-script.html
/weblog/advent-of-code.html
diff --git a/about/index.html.tmpl b/about/index.html.tmpl
deleted file mode 100644
index e2a5c1b..0000000
--- a/about/index.html.tmpl
+++ /dev/null
@@ -1,49 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
-<meta charset="utf-8">
-<meta name="viewport" content="width=device-width, initial-scale=1">
-<title>About &amp; colophon — tjp.lol</title>
-<meta name="description" content="About tjp and how this site is built.">
-<link rel="stylesheet" href="../style.css">
-</head>
-<body>
-<div class="wrap">
-
-{{template "header" .}}
- <main>
- <article class="post">
- <div class="note-body">
- <p>I'm Travis, a software engineer living in Salt Lake City, Utah. I write mostly code, supervise coding AIs, generally spend too long in the terminal, and care about software that's small, legible, and built to last.</p>
- <p>This site is where I keep my <a href="{{rel .OutputPath "/weblog/"}}">writing</a>. If you want to reach me, <a href="mailto:t@tjp.lol">t@tjp.lol</a> is the best way.</p>
- </div>
-
- <section>
- <h2>elsewhere</h2>
- <ul class="links">
- <li><span class="k">email</span><a href="mailto:t@tjp.lol">t@tjp.lol</a></li>
- <li><span class="k">code</span><a href="https://code.tjp.lol/">self-hosted cgit</a></li>
- <li><span class="k">fedi</span><a href="https://tilde.zone/@tjpcc" rel="me">@tjpcc@tilde.zone</a></li>
- <li><span class="k">gemini</span><a href="gemini://tjp.lol/">gemini://tjp.lol/</a></li>
- </ul>
- </section>
-
- <div class="backlinks">
- <h2>Colophon</h2>
- <div class="note-body">
- <p>This site is generated from Markdown and Go templates by <a href="https://code.tjp.lol/weft.git">Weft</a>, with a single <a href="../style.css">stylesheet</a>.</p>
- <ul>
- <li><strong>Type:</strong> system UI font for prose, system monospace for headings and code. No web fonts or network requests for type.</li>
- <li><strong>Colour:</strong> light and dark themes via <code>prefers-color-scheme</code>. It follows your OS setting in CSS.</li>
- <li><strong>Weblog:</strong> published from Markdown as static HTML.</li>
- <li><strong>Notes:</strong> authored in Obsidian and neovim, synced across my devices with Syncthing, published <a href="{{rel .OutputPath "/notes/"}}">here</a> as static pages.</li>
- <li><strong>Build:</strong> Weft recursively renders Markdown and Go templates. AI may assist with coding and batch refactoring, but never with any published post content.</li>
- <li><strong>Hosting:</strong> static files self-hosted on a VPS.</li>
- <li><strong>Licence:</strong> content is <a href="https://creativecommons.org/licenses/by/4.0/">CC BY 4.0</a> unless a page says otherwise. Take it, remix it, just credit me.</li>
- </ul>
- </div>
- </div>
- </article>
- </main>
-
-{{template "footer" .}}
diff --git a/about/index.md b/about/index.md
new file mode 100644
index 0000000..b7efc71
--- /dev/null
+++ b/about/index.md
@@ -0,0 +1,28 @@
+---
+title: "About & colophon"
+---
+
+I'm Travis, a software engineer living in Salt Lake City, Utah. I write mostly code, supervise coding AIs, generally spend too long in the terminal, and care about software that's small, legible, and built to last.
+
+This site is where I keep my [writing](/weblog/). If you want to reach me, <t@tjp.lol> is the best way.
+
+## elsewhere
+
+- **email** <t@tjp.lol>
+- **code** [self-hosted cgit](https://code.tjp.lol/)
+- **fedi** [@tjpcc@tilde.zone](https://tilde.zone/@tjpcc)
+- **gemini** <gemini://tjp.lol/>
+
+---
+
+## colophon
+
+This site is generated from Markdown and Go templates by [Weft](https://code.tjp.lol/weft.git), with a single [stylesheet](/style.css).
+
+- **Type:** system UI font for prose, system monospace for headings and code. No web fonts of network requests for type.
+- **Color:** light and dark themes via `prefers-color-scheme`. It follows your OS setting in CSS.
+- **Weblog:** published from Markdown as static HTML.
+- **Notes:** authored in Obsidian and Neovim, synced across my devices by Syncthing, built into static pages by Weft and published [here](/notes/).
+- **Build:** Weft recursively renders Markdown and Go templates. AI may assist with coding and batch refactoring, but never with any published post content.
+- **Hosting:** static files self-hosted on a VPS.
+- **License:** content is [CC BY 4.0](https://creativecommons.org/licences/by/4.0/) unless a page says otherwise. Take it, remix it, just credit me.
diff --git a/index.html.tmpl b/index.html.tmpl
index 7d2376a..33a01ee 100644
--- a/index.html.tmpl
+++ b/index.html.tmpl
@@ -19,7 +19,7 @@
<p>My interests are a bit all over the place, but around this site you can also find:</p>
<ul>
<li><a href="https://code.tjp.lol">open source code repos</a></li>
- <li><a href="https://film.tjp.lol">a gallery of film photography</a></li>
+ <li><a href="https://film.tjp.lol">film photography gallery</a></li>
</ul>
</section>
@@ -39,11 +39,12 @@
<section>
<h2>recently changed notes</h2>
- {{- $notes := sortPages (index .Pages "notes") "ModTime"}}
+ {{- $notes := sortPages (index .Pages "notes/sync") "mod_time"}}
{{- with $notes}}
<ul>
{{- range slicePages . 0 5}}
- <li><a href="{{rel "index.html" .OutputPath}}">{{.Title}}</a></li>
+ {{- $dir := dirPath (joinPath (slice (splitPath .OutputPath) 2))}}
+ <li><a href="{{rel "index.html" .OutputPath}}">{{$dir}}/ {{.Title}}</a></li>
{{- end}}
</ul>
{{- end}}
diff --git a/notes/index.html.tmpl b/notes/index.html.tmpl
deleted file mode 100644
index 66c1f43..0000000
--- a/notes/index.html.tmpl
+++ /dev/null
@@ -1,39 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
-<meta charset="utf-8">
-<meta name="viewport" content="width=device-width, initial-scale=1">
-<title>Notes — tjp.lol</title>
-<meta name="description" content="A public cut of my synced notes — a small digital garden.">
-<link rel="stylesheet" href="../style.css">
-</head>
-<body>
-<div class="wrap">
-
-{{template "header" .}}
- <main>
- <section class="intro">
- <p>A public slice of the persistent notes I keep synced across my devices.</p>
- </section>
-
- <section>
- <h2>start here</h2>
- <ul>
- <li>
- <a href="/notes/sync/recipes/">My Recipes</a>
- <ul>
- <li><a href="/notes/sync/recipes/cocktails/">Cocktail Recipes</a></li>
- </ul>
- </li>
- </ul>
- </section>
-
- <!--<section>
- <h2>all notes</h2>
- {{$notes := sortPages (index .Pages "notes") "mod_time"}}{{with $notes}}<div class="note-index">
- {{range .}}<a href="{{rel "notes/index.html" .OutputPath}}">{{.Title}}</a>{{end}}
- </div>{{end}}
- </section>-->
- </main>
-
-{{template "footer" .}}
diff --git a/notes/index.md b/notes/index.md
new file mode 100644
index 0000000..09e776a
--- /dev/null
+++ b/notes/index.md
@@ -0,0 +1,12 @@
+---
+title: Notes
+description: A public cut of my synced notes
+---
+
+A public slice of the persistent notes I keep synced across my devices.
+
+## start here
+
+- [My Recipes](/notes/sync/recipes/)
+ - [Cocktail Recipes](/notes/sync/recipes/cocktails/)
+
diff --git a/projects/index.html.tmpl b/projects/index.html.tmpl
deleted file mode 100644
index 4e5fa47..0000000
--- a/projects/index.html.tmpl
+++ /dev/null
@@ -1,49 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
-<meta charset="utf-8">
-<meta name="viewport" content="width=device-width, initial-scale=1">
-<title>Projects — tjp.lol</title>
-<meta name="description" content="Projects I've built.">
-<link rel="stylesheet" href="../style.css">
-</head>
-<body>
-<div class="wrap">
-
-{{template "header" .}}
- <main>
- <section class="intro">
- <p>Things I've built. Some I even maintain!</p>
- <p>Spread across a messy history of code forges.</p>
- </section>
-
- <section>
- <h2>current</h2>
-
- <h3>pantograph</h3>
- <ul>
- <li><a href="https://code.tjp.lol/pantograph.git"><span class="k">pantograph</span></a> - a minimal AI TUI agent in zig with extensions in lua (<a href="/pantograph">project page</a>)</li>
- <li><a href="https://code.tjp.lol/libpantograph.git"><span class="k">libpantograph</span></a> - the zig agent SDK behind pantograph, with several other language bindings</li>
- <li><a href="https://code.tjp.lol/panto-agent.git"><span class="k">panto-agent</span></a> - collection of baseline extensions bringing pantograph up to snuff as a coding agent</li>
- </ul>
-
- <h3>this site</h3>
- <ul>
- <li><a href="https://code.tjp.lol/weft.git"><span class="k">weft</span></a> - a small static site generator</li>
- <li><a href="https://code.tjp.lol/tjp_lol.git"><span class="k">tjp.lol</span></a> - repo tracking the markdown and other sources; builds with weft</li>
- </ul>
-
- <h3>small web protocols</h3>
- <ul>
- <li><a href="https://code.tjp.lol/sliderule.git"><span class="k">sliderule</span></a> - Go tools for building for small web protocols</li>
- <li><a href="https://code.tjp.lol/syw.git"><span class="k">show-your-work</span></a> - git repo browser built on sliderule</li>
- <li><a href="https://code.tjp.lol/sr-71.git"><span class="k">sr-71</span></a> - fast, high flying server for small web protocols</li>
- </ul>
- </section>
-
- <section>
- <h2>archived</h2>
- </section>
- </main>
-
-{{template "footer" .}}
diff --git a/projects/index.md b/projects/index.md
new file mode 100644
index 0000000..f0b5b52
--- /dev/null
+++ b/projects/index.md
@@ -0,0 +1,25 @@
+---
+title: Projects
+---
+
+Things I've built. Some I even maintain!
+
+Spread across a messy history of code forges.
+
+## current
+
+### pantograph
+- [`pantograph`](https://code.tjp.lol/pantograph.git) a minimal AI TUI agent in zig with extensions in lua ([project page](/pantograph/))
+- [`libpantograph`](https://code.tjp.lol/libpantograph.git) the zig agent SDK behind pantograph, with several other language bindings
+- [`panto-agent`](https://code.tjp.lol/panto-agent.git) collections of baseline extensions bringing pantograph up to snuff as a coding agent
+
+### tjp.lol
+- [`weft`](https://code.tjp.lol/weft.git) a small static site generator
+- [`tjp.lol`](https://code.tjp.lol/tjp_lol.git) repo tracking the markdown and template sources for this site; builds with weft
+
+### small web protocols
+- [`sliderule`](https://code.tjp.lol/sliderule.git) Go tools for building with small web protocols (gemini, gopher, spartan, finger, etc)
+- [`show-your-work`](https://code.tjp.lol/syw.git) git repo browser for small web protocols, built on sliderule
+- [`sr-71`](https://code.tjp.lol/sr-71.git) fast, high flying server for small web protocols
+
+## archived
diff --git a/site.tmpl b/site.tmpl
index 28175b5..ee0a62b 100644
--- a/site.tmpl
+++ b/site.tmpl
@@ -4,7 +4,7 @@
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
-<title>{{if eq .OutputPath "about/index.html"}}About &amp; colophon{{else}}{{.Title}}{{end}} — tjp.lol</title>
+<title>{{.Title}} — tjp.lol</title>
{{with index .Meta "description" -}}
<meta name="description" content="{{.}}">
{{end -}}
@@ -94,6 +94,10 @@
{{template "footer" .}}
{{end}}
+{{define "notes/index" -}}
+{{template "page" .}}
+{{end}}
+
{{define "notes" -}}
{{template "head" .}}
{{template "header" .}}
diff --git a/style.css b/style.css
index 25a5357..1ad8c5a 100644
--- a/style.css
+++ b/style.css
@@ -82,6 +82,11 @@ ul.posts a:hover{color:var(--accent); text-decoration:underline;}
.links .k{color:var(--muted); font-size:.8rem; min-width:4.6rem;}
.links a{text-decoration:none;} .links a:hover{text-decoration:underline;}
+#elsewhere + ul{list-style:none; margin:0; padding:0; font-size:.95rem;}
+#elsewhere + ul li{display:flex; gap:.8rem; padding:.24rem 0;}
+#elsewhere + ul strong{color:var(--muted); font:400 .8rem var(--mono); min-width:4.6rem;}
+#elsewhere + ul a{text-decoration:none;} #elsewhere + ul a:hover{text-decoration:underline;}
+
/* ---- long-form article ---- */
article.post{font-size:1.08rem; line-height:1.7;}
article.post .post-head{margin:0 0 2rem;}