From 9faffbf6bc5083239d69a2daedac273e6d814bc3 Mon Sep 17 00:00:00 2001 From: t Date: Sat, 11 Jul 2026 11:50:44 -0600 Subject: Archive fictional site examples and audit inherited prose --- _docs/PROSE_AUDIT.md | 19 +++++++++ about/index.html | 10 ++--- feed.xml | 26 +----------- index.html | 27 +++---------- notes/_plain-html.html | 70 ++++++++++++++++++++++++++++++++ notes/index.html | 27 ++----------- notes/plain-html.html | 70 -------------------------------- projects/index.html | 28 +++---------- weblog/_moving-off-gemini.html | 88 ++++++++++++++++++++++++++++++++++++++++ weblog/index.html | 27 ++----------- weblog/moving-off-gemini.html | 91 ------------------------------------------ 11 files changed, 202 insertions(+), 281 deletions(-) create mode 100644 _docs/PROSE_AUDIT.md create mode 100644 notes/_plain-html.html delete mode 100644 notes/plain-html.html create mode 100644 weblog/_moving-off-gemini.html delete mode 100644 weblog/moving-off-gemini.html diff --git a/_docs/PROSE_AUDIT.md b/_docs/PROSE_AUDIT.md new file mode 100644 index 0000000..eafde4b --- /dev/null +++ b/_docs/PROSE_AUDIT.md @@ -0,0 +1,19 @@ +# Inherited prose audit + +This inventory records prose inherited from the example site. It does not +approve the copy for publication or supply replacement prose. + +| Source | Prose locations | Disposition | +| --- | --- | --- | +| `index.html` | document title and description; brand tagline; navigation labels; two introductory paragraphs; section headings; “all posts” label; elsewhere labels and destinations; footer text | Keep for manual review. Fictional post and tag listings were removed. “From the notes” is commented out. | +| `about/index.html` | document title and description; navigation labels; About heading; two biography/contact paragraphs; Elsewhere heading, labels, and destinations; Colophon heading; colophon paragraph and six list items; footer text | Keep for manual rewrite. The colophon contains obsolete hand-written/no-build claims and must gain the planned licence and AI-assistance wording. | +| `projects/index.html` | document title and description; navigation labels; introductory sentence; Maintained and Archived / for fun headings; footer text | Keep for manual review. Placeholder instructions, fictional project names/descriptions, tag labels, and archived-project labels were removed. | +| `weblog/index.html` | document title and description; navigation labels; introductory paragraph and subscription label; footer text | Keep for manual review. Fictional year headings, dates, post titles, and links were removed. | +| `weblog/_moving-off-gemini.html` | document title and description; navigation labels; post date and title; placeholder notice; all post headings, paragraphs, list items, quotation, code sample, and inline link labels; post navigation; footer text | Archived fictional reference only. Its tag labels were removed. Do not publish, list, render, or use as authored site copy. | +| `notes/index.html` | document title and description; navigation labels; introductory paragraph; Start here and All notes headings; footer text | Keep hidden for manual review until real vault publication works. Fictional note labels and links were removed. | +| `notes/_plain-html.html` | document title and description; navigation labels; tended/planted metadata and title; placeholder notice; all note headings, paragraphs, list items, wiki-link labels, backlinks heading and labels; footer text | Archived fictional reference only. Do not publish, list, render, or use as authored site copy. | +| `feed.xml` | feed title; subtitle; author name and email | Keep for manual review. All fictional entry titles, summaries, dates, IDs, and links were removed; the feed is intentionally empty. | + +Repeated site-wide prose also needing one manual decision in the future shared +templates: brand text, navigation labels, feed label, footer text, licence +notice, and the currently commented Notes and webring labels. diff --git a/about/index.html b/about/index.html index 9b58299..71a8cd0 100644 --- a/about/index.html +++ b/about/index.html @@ -14,10 +14,10 @@

~tjp $_

@@ -28,7 +28,7 @@

I'm tjp — an elder-millennial software engineer living in Salt Lake City, Utah. I write mostly Python, 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 and a public cut of my notes. If you want to reach me, t@tjp.lol is the best way.

+

This site is where I keep my writing. If you want to reach me, t@tjp.lol is the best way.

Elsewhere

-
+
diff --git a/notes/_plain-html.html b/notes/_plain-html.html new file mode 100644 index 0000000..d60275e --- /dev/null +++ b/notes/_plain-html.html @@ -0,0 +1,70 @@ + + + + + +The case for plain HTML — notes — tjp.lol + + + + +
+ +
+

~tjp $_

+ +
+ +
+
+
+

← notes  /  tended · planted

+

The case for plain HTML

+
+ +
+

A note, not an essay — expect it to change. This page shows how a wiki note reads: internal [[wiki links]] render as underlined-dotted links, and a backlinks panel sits at the bottom.

+ +

A hand-written HTML page is the most durable document format I know of that still looks like a document. It has no runtime, no dependencies, and no version that can go out of date. A file I wrote in 2004 opens today, pixel-for-pixel, in a browser that didn't exist then.

+ +

This connects to Gemtext & the small web — both are bets that constraint outlives capability. See also How I take notes for why I keep the source in plain text.

+ +

Things I no longer do

+
    +
  • Reach for a framework before there's a second page.
  • +
  • Add a build step to save five keystrokes.
  • +
  • Load a web font when the reader already owns a good one.
  • +
+ +

The test

+

Turn JavaScript off. If the page is worse, I've added fragility I have to maintain forever. If it's identical, I'm done. This whole site passes that test — see the colophon.

+
+ + +
+
+ + + +
+ + diff --git a/notes/index.html b/notes/index.html index 7c5265f..1a8db13 100644 --- a/notes/index.html +++ b/notes/index.html @@ -14,10 +14,10 @@

~tjp $_

@@ -28,37 +28,18 @@

start here

-

all notes

-
diff --git a/notes/plain-html.html b/notes/plain-html.html deleted file mode 100644 index d60275e..0000000 --- a/notes/plain-html.html +++ /dev/null @@ -1,70 +0,0 @@ - - - - - -The case for plain HTML — notes — tjp.lol - - - - -
- -
-

~tjp $_

- -
- -
-
-
-

← notes  /  tended · planted

-

The case for plain HTML

-
- -
-

A note, not an essay — expect it to change. This page shows how a wiki note reads: internal [[wiki links]] render as underlined-dotted links, and a backlinks panel sits at the bottom.

- -

A hand-written HTML page is the most durable document format I know of that still looks like a document. It has no runtime, no dependencies, and no version that can go out of date. A file I wrote in 2004 opens today, pixel-for-pixel, in a browser that didn't exist then.

- -

This connects to Gemtext & the small web — both are bets that constraint outlives capability. See also How I take notes for why I keep the source in plain text.

- -

Things I no longer do

-
    -
  • Reach for a framework before there's a second page.
  • -
  • Add a build step to save five keystrokes.
  • -
  • Load a web font when the reader already owns a good one.
  • -
- -

The test

-

Turn JavaScript off. If the page is worse, I've added fragility I have to maintain forever. If it's identical, I'm done. This whole site passes that test — see the colophon.

-
- - -
-
- - - -
- - diff --git a/projects/index.html b/projects/index.html index 4e004e6..0943b48 100644 --- a/projects/index.html +++ b/projects/index.html @@ -14,50 +14,32 @@

~tjp $_

-

Small things I've built and still maintain. Most live on GitHub or tildegit. Placeholder entries for now — swap in the real ones whenever.

+

Small things I've built and still maintain. Most live on GitHub.

maintained

-

archived / for fun

-
diff --git a/weblog/_moving-off-gemini.html b/weblog/_moving-off-gemini.html new file mode 100644 index 0000000..fdf6165 --- /dev/null +++ b/weblog/_moving-off-gemini.html @@ -0,0 +1,88 @@ + + + + + +Moving my weblog off Gemini (without leaving it) — tjp.lol + + + + + +
+ +
+

~tjp $_

+ +
+ +
+
+
+

← weblog  / 

+

Moving my weblog off Gemini (without leaving it)

+
+ +

This is placeholder text laid out so you can see how a full post reads. Replace it with the real .gmi content when you export the capsule — the structure below covers everything a converted Gemini post will need: headings, lists, quotes, code, and links.

+ +

I've kept a capsule at gemini://gemini.ctrl-c.club/~tjp/ for a few years now. Gemini is a lovely place to write: the format is so constrained that there's nothing to fiddle with, and the whole thing rewards plain, linear prose. But I wanted a web presence too — one that fits in with the personal sites I keep finding in webrings.

+ +

The plan

+

The goal was never to abandon geminispace. It was to have both, from one source of truth. Gemtext is close enough to Markdown that a small converter gets you most of the way there:

+ +
    +
  • Keep writing .gmi files in my capsule.
  • +
  • Run a converter that emits HTML with the same structure.
  • +
  • Wrap each page in the site template you're reading now.
  • +
+ +

The converter

+

Gemtext has exactly one block-level construct per line, which makes parsing almost insultingly simple. Here's the core of it:

+ +
while IFS= read -r line; do
+  case "$line" in
+    "### "*) echo "<h3>${line#### }</h3>" ;;
+    "## "*)  echo "<h2>${line### }</h2>" ;;
+    "# "*)   echo "<h1>${line## }</h1>" ;;
+    "=> "*)  emit_link "$line" ;;
+    "* "*)   emit_list_item "$line" ;;
+    "> "*)   echo "<blockquote>${line#> }</blockquote>" ;;
+    "")      echo "" ;;
+    *)       echo "<p>$line</p>" ;;
+  esac
+done < "$1"
+ +

That's genuinely most of it. The fiddly parts are link lines (=> can be a bare URL or have link text) and collapsing runs of * lines into a single <ul>.

+ +
The best format is the one that outlives the tool you wrote it in. Gemtext will still be readable when this converter is long gone.
+ +

What I kept

+

No client-side anything. The web version renders identically with JavaScript disabled, because there is no JavaScript to disable. Fonts are whatever your system already has. The whole page is a few kilobytes.

+ +

If you want the source, it lives with the rest of my projects. And the capsule is still there — see the colophon for how it all fits together.

+
+ + +
+ + + +
+ + diff --git a/weblog/index.html b/weblog/index.html index 4484805..8510f60 100644 --- a/weblog/index.html +++ b/weblog/index.html @@ -15,10 +15,10 @@

~tjp $_

@@ -27,32 +27,13 @@

Longer-form writing. Most of these are migrating over from my Gemini capsule, so dates reflect the original posting. Subscribe via RSS.

-
-

2026

- -
- -
-

2025

- -
diff --git a/weblog/moving-off-gemini.html b/weblog/moving-off-gemini.html deleted file mode 100644 index f84a797..0000000 --- a/weblog/moving-off-gemini.html +++ /dev/null @@ -1,91 +0,0 @@ - - - - - -Moving my weblog off Gemini (without leaving it) — tjp.lol - - - - - -
- -
-

~tjp $_

- -
- -
-
-
-

← weblog  / 

-

Moving my weblog off Gemini (without leaving it)

- -
- -

This is placeholder text laid out so you can see how a full post reads. Replace it with the real .gmi content when you export the capsule — the structure below covers everything a converted Gemini post will need: headings, lists, quotes, code, and links.

- -

I've kept a capsule at gemini://gemini.ctrl-c.club/~tjp/ for a few years now. Gemini is a lovely place to write: the format is so constrained that there's nothing to fiddle with, and the whole thing rewards plain, linear prose. But I wanted a web presence too — one that fits in with the personal sites I keep finding in webrings.

- -

The plan

-

The goal was never to abandon geminispace. It was to have both, from one source of truth. Gemtext is close enough to Markdown that a small converter gets you most of the way there:

- -
    -
  • Keep writing .gmi files in my capsule.
  • -
  • Run a converter that emits HTML with the same structure.
  • -
  • Wrap each page in the site template you're reading now.
  • -
- -

The converter

-

Gemtext has exactly one block-level construct per line, which makes parsing almost insultingly simple. Here's the core of it:

- -
while IFS= read -r line; do
-  case "$line" in
-    "### "*) echo "<h3>${line#### }</h3>" ;;
-    "## "*)  echo "<h2>${line### }</h2>" ;;
-    "# "*)   echo "<h1>${line## }</h1>" ;;
-    "=> "*)  emit_link "$line" ;;
-    "* "*)   emit_list_item "$line" ;;
-    "> "*)   echo "<blockquote>${line#> }</blockquote>" ;;
-    "")      echo "" ;;
-    *)       echo "<p>$line</p>" ;;
-  esac
-done < "$1"
- -

That's genuinely most of it. The fiddly parts are link lines (=> can be a bare URL or have link text) and collapsing runs of * lines into a single <ul>.

- -
The best format is the one that outlives the tool you wrote it in. Gemtext will still be readable when this converter is long gone.
- -

What I kept

-

No client-side anything. The web version renders identically with JavaScript disabled, because there is no JavaScript to disable. Fonts are whatever your system already has. The whole page is a few kilobytes.

- -

If you want the source, it lives with the rest of my projects. And the capsule is still there — see the colophon for how it all fits together.

-
- - -
- - - -
- - -- cgit v1.3