diff options
| author | t <t@tjp.lol> | 2026-07-11 23:15:54 -0600 |
|---|---|---|
| committer | t <t@tjp.lol> | 2026-07-11 23:15:58 -0600 |
| commit | 3f1234670b04161d211168a3af4bc85a1de99313 (patch) | |
| tree | 3f48ac813d675d22c6d541eccae64bd7ea2398c1 | |
| parent | 59bfbcff8f020de23d0b8e1d5f18a904cca4d80e (diff) | |
remove old template
| -rw-r--r-- | weblog/_moving-off-gemini.md | 46 |
1 files changed, 0 insertions, 46 deletions
diff --git a/weblog/_moving-off-gemini.md b/weblog/_moving-off-gemini.md deleted file mode 100644 index e0cafe0..0000000 --- a/weblog/_moving-off-gemini.md +++ /dev/null @@ -1,46 +0,0 @@ ---- -post_date: 2026-06-30 -description: How I mirror my Gemini capsule to the web without abandoning geminispace. ---- -# 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: - -```sh -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](../projects/index.html). And the capsule is still there — see the [colophon](../about/index.html) for how it all fits together. |
