diff options
| -rw-r--r-- | .gitignore | 1 | ||||
| -rw-r--r-- | about/index.html.tmpl | 49 | ||||
| -rw-r--r-- | about/index.md | 28 | ||||
| -rw-r--r-- | index.html.tmpl | 7 | ||||
| -rw-r--r-- | notes/index.html.tmpl | 39 | ||||
| -rw-r--r-- | notes/index.md | 12 | ||||
| -rw-r--r-- | projects/index.html.tmpl | 49 | ||||
| -rw-r--r-- | projects/index.md | 25 | ||||
| -rw-r--r-- | site.tmpl | 6 | ||||
| -rw-r--r-- | style.css | 5 |
10 files changed, 80 insertions, 141 deletions
@@ -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 & 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 @@ -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 & 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" .}} @@ -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;} |
