<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
<title>cripslock, branch HEAD</title>
<subtitle>Unnamed repository; edit this file &#39;description&#39; to name the repository.
</subtitle>
<entry>
<id>ec3a16d1f86170f0e29e54f0747a7ebd6b18e717</id>
<published>2026-09-16T16:59:47Z</published>
<updated>2026-09-16T16:59:47Z</updated>
<title type="text">support limit and offset query params for news.rss</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/ec3a16d1f86170f0e29e54f0747a7ebd6b18e717.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit ec3a16d1f86170f0e29e54f0747a7ebd6b18e717
parent 44ea824d44c46e4d6ac0cfccfc22a81362859170
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Wed, 16 Sep 2026 17:59:47 +0100

support limit and offset query params for news.rss

</content>
</entry>
<entry>
<id>44ea824d44c46e4d6ac0cfccfc22a81362859170</id>
<published>2026-09-16T16:59:18Z</published>
<updated>2026-09-16T16:59:18Z</updated>
<title type="text">fix failing iso date test</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/44ea824d44c46e4d6ac0cfccfc22a81362859170.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit 44ea824d44c46e4d6ac0cfccfc22a81362859170
parent 5e93a4c6bd2f6198f6242b3b03bf3941ff70e5d8
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Wed, 16 Sep 2026 17:59:18 +0100

fix failing iso date test

</content>
</entry>
<entry>
<id>5e93a4c6bd2f6198f6242b3b03bf3941ff70e5d8</id>
<published>2026-09-15T20:43:42Z</published>
<updated>2026-09-15T20:43:42Z</updated>
<title type="text">set CRIPSLOCK_DIR in dev shell</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/5e93a4c6bd2f6198f6242b3b03bf3941ff70e5d8.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit 5e93a4c6bd2f6198f6242b3b03bf3941ff70e5d8
parent 4d946baea340b63afe6d01bdb4e0415ead6bae96
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Tue, 15 Sep 2026 21:43:42 +0100

set CRIPSLOCK_DIR in dev shell

</content>
</entry>
<entry>
<id>4d946baea340b63afe6d01bdb4e0415ead6bae96</id>
<published>2026-09-15T20:42:48Z</published>
<updated>2026-09-15T20:42:48Z</updated>
<title type="text">don&#39;t send title in RSS feed item description</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/4d946baea340b63afe6d01bdb4e0415ead6bae96.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit 4d946baea340b63afe6d01bdb4e0415ead6bae96
parent 8f1142f7314881c056e11995f9c6f5363c243108
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Tue, 15 Sep 2026 21:42:48 +0100

don&#39;t send title in RSS feed item description

the feed item body contained &lt;h1&gt;title&lt;/h1&gt; and rendered date, which
means readers were potentially duplicating them

</content>
</entry>
<entry>
<id>8f1142f7314881c056e11995f9c6f5363c243108</id>
<published>2026-09-15T20:42:08Z</published>
<updated>2026-09-15T20:42:08Z</updated>
<title type="text">per-topic RSS feeds</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/8f1142f7314881c056e11995f9c6f5363c243108.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit 8f1142f7314881c056e11995f9c6f5363c243108
parent 69c31d72bcb621cfc7090e985dbc39af8dffdf1c
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Tue, 15 Sep 2026 21:42:08 +0100

per-topic RSS feeds

</content>
</entry>
<entry>
<id>69c31d72bcb621cfc7090e985dbc39af8dffdf1c</id>
<published>2026-09-15T20:41:18Z</published>
<updated>2026-09-15T20:41:18Z</updated>
<title type="text">ISO dates may have a space before the final Z</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/69c31d72bcb621cfc7090e985dbc39af8dffdf1c.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit 69c31d72bcb621cfc7090e985dbc39af8dffdf1c
parent 24b6df8c2642eea909795b8ed6eb8a4671901a14
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Tue, 15 Sep 2026 21:41:18 +0100

ISO dates may have a space before the final Z

</content>
</entry>
<entry>
<id>24b6df8c2642eea909795b8ed6eb8a4671901a14</id>
<published>2026-09-10T19:54:57Z</published>
<updated>2026-09-10T19:54:57Z</updated>
<title type="text">add mime-type for .jpg</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/24b6df8c2642eea909795b8ed6eb8a4671901a14.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit 24b6df8c2642eea909795b8ed6eb8a4671901a14
parent 0dba84f9ec61c9fbce7cfa6ec311ea91e3d3a7ec
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Thu, 10 Sep 2026 20:54:57 +0100

add mime-type for .jpg

</content>
</entry>
<entry>
<id>0dba84f9ec61c9fbce7cfa6ec311ea91e3d3a7ec</id>
<published>2026-09-10T19:54:09Z</published>
<updated>2026-09-10T19:54:09Z</updated>
<title type="text">scale images using graphicsmagic</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/0dba84f9ec61c9fbce7cfa6ec311ea91e3d3a7ec.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit 0dba84f9ec61c9fbce7cfa6ec311ea91e3d3a7ec
parent bc4ea71f10f92d6a6a550d71c462dff083bcd3c5
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Thu, 10 Sep 2026 20:54:09 +0100

scale images using graphicsmagic

</content>
</entry>
<entry>
<id>bc4ea71f10f92d6a6a550d71c462dff083bcd3c5</id>
<published>2026-09-09T23:11:06Z</published>
<updated>2026-09-09T23:11:06Z</updated>
<title type="text">add link to cc by-nc-nd in page footer</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/bc4ea71f10f92d6a6a550d71c462dff083bcd3c5.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit bc4ea71f10f92d6a6a550d71c462dff083bcd3c5
parent 6ae237e3046bf27a5234081fc1d7de1393453390
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Thu, 10 Sep 2026 00:11:06 +0100

add link to cc by-nc-nd in page footer

</content>
</entry>
<entry>
<id>6ae237e3046bf27a5234081fc1d7de1393453390</id>
<published>2026-09-09T22:50:13Z</published>
<updated>2026-09-09T22:50:13Z</updated>
<title type="text">look in CRIPSLOCK_DIR for static files not found in site</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/6ae237e3046bf27a5234081fc1d7de1393453390.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit 6ae237e3046bf27a5234081fc1d7de1393453390
parent 41a95bc2dab2367e546283a5a5fa777f514f0d40
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Wed,  9 Sep 2026 23:50:13 +0100

look in CRIPSLOCK_DIR for static files not found in site

this is so we can put boxy.{js,css} under version control

</content>
</entry>
<entry>
<id>41a95bc2dab2367e546283a5a5fa777f514f0d40</id>
<published>2026-09-09T18:05:42Z</published>
<updated>2026-09-09T22:35:54Z</updated>
<title type="text">set LUA_C?PATH in shell</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/41a95bc2dab2367e546283a5a5fa777f514f0d40.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit 41a95bc2dab2367e546283a5a5fa777f514f0d40
parent d1309d17be2c9d08718af772e1d47998f92bb505
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Wed,  9 Sep 2026 19:05:42 +0100

set LUA_C?PATH in shell

</content>
</entry>
<entry>
<id>d1309d17be2c9d08718af772e1d47998f92bb505</id>
<published>2026-09-09T18:05:33Z</published>
<updated>2026-09-09T22:35:54Z</updated>
<title type="text">add luagraphicsmagick module</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/d1309d17be2c9d08718af772e1d47998f92bb505.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit d1309d17be2c9d08718af772e1d47998f92bb505
parent 789dc0a22b30e0d33215c570936f69125c1edb4c
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Wed,  9 Sep 2026 19:05:33 +0100

add luagraphicsmagick module

</content>
</entry>
<entry>
<id>789dc0a22b30e0d33215c570936f69125c1edb4c</id>
<published>2026-09-09T18:05:12Z</published>
<updated>2026-09-09T22:35:54Z</updated>
<title type="text">fix broken test</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/789dc0a22b30e0d33215c570936f69125c1edb4c.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit 789dc0a22b30e0d33215c570936f69125c1edb4c
parent e8c6e9f2f109a64291b0a9a9d6477564a9ccd1ff
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Wed,  9 Sep 2026 19:05:12 +0100

fix broken test

</content>
</entry>
<entry>
<id>e8c6e9f2f109a64291b0a9a9d6477564a9ccd1ff</id>
<published>2026-09-09T18:04:21Z</published>
<updated>2026-09-09T22:35:54Z</updated>
<title type="text">remove search from todo list</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/e8c6e9f2f109a64291b0a9a9d6477564a9ccd1ff.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit e8c6e9f2f109a64291b0a9a9d6477564a9ccd1ff
parent 83026acb09c2b60ae57bd4ae269cdbe8a5cb4db2
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Wed,  9 Sep 2026 19:04:21 +0100

remove search from todo list

</content>
</entry>
<entry>
<id>83026acb09c2b60ae57bd4ae269cdbe8a5cb4db2</id>
<published>2026-09-09T18:02:08Z</published>
<updated>2026-09-09T22:34:38Z</updated>
<title type="text">create path module and use it for static file lookup</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/83026acb09c2b60ae57bd4ae269cdbe8a5cb4db2.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit 83026acb09c2b60ae57bd4ae269cdbe8a5cb4db2
parent 0bcc42aa26912d6e56d5e267ef03513dbf4ba44e
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Wed,  9 Sep 2026 19:02:08 +0100

create path module and use it for static file lookup

make pathame-safing textual instead of relying on the actual
filesystem: look for . and .. segments in the provided pathnames
instead of using realpath

This changes the behaviour around symlinks, if you put symlinks in the
document root it will now follow them, so if you don&#39;t want it to
follow symlinks don&#39;t put them in the document root. We assume that
you wouldn&#39;t point the server at a directory not under your control
(for this and other reasons)

</content>
</entry>
<entry>
<id>0bcc42aa26912d6e56d5e267ef03513dbf4ba44e</id>
<published>2026-08-31T22:19:40Z</published>
<updated>2026-08-31T22:19:40Z</updated>
<title type="text">fix LUA_PATH</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/0bcc42aa26912d6e56d5e267ef03513dbf4ba44e.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit 0bcc42aa26912d6e56d5e267ef03513dbf4ba44e
parent 6be6ac9361d33141dff1f2b99f91d787b66d0669
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Mon, 31 Aug 2026 23:19:40 +0100

fix LUA_PATH

</content>
</entry>
<entry>
<id>6be6ac9361d33141dff1f2b99f91d787b66d0669</id>
<published>2026-08-31T22:08:29Z</published>
<updated>2026-08-31T22:08:29Z</updated>
<title type="text">allowlist the order fields</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/6be6ac9361d33141dff1f2b99f91d787b66d0669.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit 6be6ac9361d33141dff1f2b99f91d787b66d0669
parent cee906bb50fbce36b310a42c6b3cbcd71598c25b
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Mon, 31 Aug 2026 23:08:29 +0100

allowlist the order fields

probably we don&#39;t want to have search results ordered by pathname

</content>
</entry>
<entry>
<id>cee906bb50fbce36b310a42c6b3cbcd71598c25b</id>
<published>2026-08-31T22:07:49Z</published>
<updated>2026-08-31T22:07:49Z</updated>
<title type="text">add ids to sidebar divs, for css</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/cee906bb50fbce36b310a42c6b3cbcd71598c25b.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit cee906bb50fbce36b310a42c6b3cbcd71598c25b
parent e0d81ccb6f03b25e114415d777a148cb82464a2e
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Mon, 31 Aug 2026 23:07:49 +0100

add ids to sidebar divs, for css

</content>
</entry>
<entry>
<id>e0d81ccb6f03b25e114415d777a148cb82464a2e</id>
<published>2026-08-31T21:42:34Z</published>
<updated>2026-08-31T21:42:34Z</updated>
<title type="text">populate search form on result pages</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/e0d81ccb6f03b25e114415d777a148cb82464a2e.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit e0d81ccb6f03b25e114415d777a148cb82464a2e
parent e1b54c0e06db04f8c6dc19888a234ef5d52e6de6
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Mon, 31 Aug 2026 22:42:34 +0100

populate search form on result pages

</content>
</entry>
<entry>
<id>e1b54c0e06db04f8c6dc19888a234ef5d52e6de6</id>
<published>2026-08-31T20:36:32Z</published>
<updated>2026-08-31T20:36:32Z</updated>
<title type="text">add search form</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/e1b54c0e06db04f8c6dc19888a234ef5d52e6de6.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit e1b54c0e06db04f8c6dc19888a234ef5d52e6de6
parent e8fa90102f8babd2a1561617c805393412cf97cf
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Mon, 31 Aug 2026 21:36:32 +0100

add search form

</content>
</entry>
<entry>
<id>e8fa90102f8babd2a1561617c805393412cf97cf</id>
<published>2026-08-31T20:19:05Z</published>
<updated>2026-08-31T20:19:41Z</updated>
<title type="text">add tdidf corpus searching</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/e8fa90102f8babd2a1561617c805393412cf97cf.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit e8fa90102f8babd2a1561617c805393412cf97cf
parent 6429e073a279535af169a0aa90b3f7b99019e7e0
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Mon, 31 Aug 2026 21:19:05 +0100

add tdidf corpus searching

not hooked up to the ui yet

</content>
</entry>
<entry>
<id>6429e073a279535af169a0aa90b3f7b99019e7e0</id>
<published>2026-08-31T20:18:26Z</published>
<updated>2026-08-31T20:18:26Z</updated>
<title type="text">add lib.clone for shallow copying tables</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/6429e073a279535af169a0aa90b3f7b99019e7e0.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit 6429e073a279535af169a0aa90b3f7b99019e7e0
parent 39bea00a19e419b01b9d6809cc931ec88caf2779
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Mon, 31 Aug 2026 21:18:26 +0100

add lib.clone for shallow copying tables

</content>
</entry>
<entry>
<id>39bea00a19e419b01b9d6809cc931ec88caf2779</id>
<published>2026-08-31T17:51:18Z</published>
<updated>2026-08-31T17:51:18Z</updated>
<title type="text">site: DRY calls to index-posts</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/39bea00a19e419b01b9d6809cc931ec88caf2779.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit 39bea00a19e419b01b9d6809cc931ec88caf2779
parent d34497f54cea576e236f820e4337cc83c3b01522
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Mon, 31 Aug 2026 18:51:18 +0100

site: DRY calls to index-posts

</content>
</entry>
<entry>
<id>d34497f54cea576e236f820e4337cc83c3b01522</id>
<published>2026-08-31T17:44:30Z</published>
<updated>2026-08-31T17:44:30Z</updated>
<title type="text">add porter stemming algorithm</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/d34497f54cea576e236f820e4337cc83c3b01522.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit d34497f54cea576e236f820e4337cc83c3b01522
parent 829a359042a85d37cd9b8d8cd9bd45643913fff6
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Mon, 31 Aug 2026 18:44:30 +0100

add porter stemming algorithm

from
https://gurumeditation.org/wp-content/uploads/sites/6/2022/02/stem.lua
via
https://gurumeditation.org/52/porter-stemming-algorithm-in-lua/

</content>
</entry>
<entry>
<id>829a359042a85d37cd9b8d8cd9bd45643913fff6</id>
<published>2026-08-31T15:25:07Z</published>
<updated>2026-08-31T15:25:07Z</updated>
<title type="text">update TODO</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/829a359042a85d37cd9b8d8cd9bd45643913fff6.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit 829a359042a85d37cd9b8d8cd9bd45643913fff6
parent 1c1df5b07a42bbe8a84f7c3caa629458f83e7e6d
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Mon, 31 Aug 2026 16:25:07 +0100

update TODO

</content>
</entry>
<entry>
<id>1c1df5b07a42bbe8a84f7c3caa629458f83e7e6d</id>
<published>2025-09-07T08:39:04Z</published>
<updated>2025-09-07T08:39:04Z</updated>
<title type="text">disable bare url markup</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/1c1df5b07a42bbe8a84f7c3caa629458f83e7e6d.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit 1c1df5b07a42bbe8a84f7c3caa629458f83e7e6d
parent 250506282452c9f7b250aeedd040f3b70cb83e60
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Sun,  7 Sep 2025 09:39:04 +0100

disable bare url markup

</content>
</entry>
<entry>
<id>250506282452c9f7b250aeedd040f3b70cb83e60</id>
<published>2025-08-09T18:46:24Z</published>
<updated>2025-08-09T18:47:26Z</updated>
<title type="text">delete unused fn</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/250506282452c9f7b250aeedd040f3b70cb83e60.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit 250506282452c9f7b250aeedd040f3b70cb83e60
parent 249e6c335b5a67b1d498bd819861ea1bf0d4b075
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Sat,  9 Aug 2025 19:46:24 +0100

delete unused fn

</content>
</entry>
<entry>
<id>249e6c335b5a67b1d498bd819861ea1bf0d4b075</id>
<published>2025-08-09T18:45:40Z</published>
<updated>2025-08-09T18:45:40Z</updated>
<title type="text">textile: accept \r\n as line terminator when splitting paras</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/249e6c335b5a67b1d498bd819861ea1bf0d4b075.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit 249e6c335b5a67b1d498bd819861ea1bf0d4b075
parent 2d7b92b23ba794d90cf8e3e785df461311a691cd
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Sat,  9 Aug 2025 19:45:40 +0100

textile: accept \r\n as line terminator when splitting paras

</content>
</entry>
<entry>
<id>2d7b92b23ba794d90cf8e3e785df461311a691cd</id>
<published>2025-08-09T14:41:18Z</published>
<updated>2025-08-09T14:41:18Z</updated>
<title type="text">fiddling with topic page layout</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/2d7b92b23ba794d90cf8e3e785df461311a691cd.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit 2d7b92b23ba794d90cf8e3e785df461311a691cd
parent 376d35fc070195c359836ef7f65e7c877e87bd76
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Sat,  9 Aug 2025 15:41:18 +0100

fiddling with topic page layout

</content>
</entry>
<entry>
<id>376d35fc070195c359836ef7f65e7c877e87bd76</id>
<published>2025-08-09T14:40:04Z</published>
<updated>2025-08-09T14:40:04Z</updated>
<title type="text">show the post&#39;s topics at top of post</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/376d35fc070195c359836ef7f65e7c877e87bd76.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit 376d35fc070195c359836ef7f65e7c877e87bd76
parent 78a4aad05a5a73d4f9630916230f1f77bf0b1e9f
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Sat,  9 Aug 2025 15:40:04 +0100

show the post&#39;s topics at top of post

</content>
</entry>
<entry>
<id>78a4aad05a5a73d4f9630916230f1f77bf0b1e9f</id>
<published>2025-08-09T14:28:30Z</published>
<updated>2025-08-09T14:28:30Z</updated>
<title type="text">add post date to topic display</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/78a4aad05a5a73d4f9630916230f1f77bf0b1e9f.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit 78a4aad05a5a73d4f9630916230f1f77bf0b1e9f
parent ae91beab83f5b3824e0ed2c5d9a7f01640bce0e4
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Sat,  9 Aug 2025 15:28:30 +0100

add post date to topic display

</content>
</entry>
<entry>
<id>ae91beab83f5b3824e0ed2c5d9a7f01640bce0e4</id>
<published>2025-08-09T13:52:54Z</published>
<updated>2025-08-09T13:52:54Z</updated>
<title type="text">style: prefer foo.bar over (. foo :bar) where possible</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/ae91beab83f5b3824e0ed2c5d9a7f01640bce0e4.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit ae91beab83f5b3824e0ed2c5d9a7f01640bce0e4
parent fe124900389991c74df3325b7abea212680f61ec
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Sat,  9 Aug 2025 14:52:54 +0100

style: prefer foo.bar over (. foo :bar) where possible

</content>
</entry>
<entry>
<id>fe124900389991c74df3325b7abea212680f61ec</id>
<published>2025-08-09T13:51:40Z</published>
<updated>2025-08-09T13:51:40Z</updated>
<title type="text">put post.path and slug as data- attributes on div</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/fe124900389991c74df3325b7abea212680f61ec.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit fe124900389991c74df3325b7abea212680f61ec
parent 202d663aa5f4aa6eb8e069156f6128f357051677
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Sat,  9 Aug 2025 14:51:40 +0100

put post.path and slug as data- attributes on div

this is to make it easier to find which file to open in emacs

</content>
</entry>
<entry>
<id>202d663aa5f4aa6eb8e069156f6128f357051677</id>
<published>2025-08-09T13:00:55Z</published>
<updated>2025-08-09T13:00:55Z</updated>
<title type="text">UI to sort topic pages</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/202d663aa5f4aa6eb8e069156f6128f357051677.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit 202d663aa5f4aa6eb8e069156f6128f357051677
parent 104c2d2b296de6f813e2cf54029aeb40f73ab546
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Sat,  9 Aug 2025 14:00:55 +0100

UI to sort topic pages

</content>
</entry>
<entry>
<id>104c2d2b296de6f813e2cf54029aeb40f73ab546</id>
<published>2025-08-09T12:31:57Z</published>
<updated>2025-08-09T12:31:57Z</updated>
<title type="text">rename handlers as route-matchers</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/104c2d2b296de6f813e2cf54029aeb40f73ab546.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit 104c2d2b296de6f813e2cf54029aeb40f73ab546
parent 41a06422056e9f59e231adf5c417815312bebae5
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Sat,  9 Aug 2025 13:31:57 +0100

rename handlers as route-matchers

* they don&#39;t handle the request, they just return a specification
of the route.

</content>
</entry>
<entry>
<id>41a06422056e9f59e231adf5c417815312bebae5</id>
<published>2025-08-09T12:29:14Z</published>
<updated>2025-08-09T12:29:14Z</updated>
<title type="text">default to sort topic pages by title</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/41a06422056e9f59e231adf5c417815312bebae5.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit 41a06422056e9f59e231adf5c417815312bebae5
parent d041e9a4e7d4a58abcfea323b331096f9d48fc56
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Sat,  9 Aug 2025 13:29:14 +0100

default to sort topic pages by title

</content>
</entry>
<entry>
<id>d041e9a4e7d4a58abcfea323b331096f9d48fc56</id>
<published>2025-08-09T12:28:58Z</published>
<updated>2025-08-09T12:28:58Z</updated>
<title type="text">parse query params in topic handler</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/d041e9a4e7d4a58abcfea323b331096f9d48fc56.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit d041e9a4e7d4a58abcfea323b331096f9d48fc56
parent 3a26ea964bbf3d6620632101f179e085f5e1d2b0
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Sat,  9 Aug 2025 13:28:58 +0100

parse query params in topic handler

</content>
</entry>
<entry>
<id>3a26ea964bbf3d6620632101f179e085f5e1d2b0</id>
<published>2025-08-09T11:38:23Z</published>
<updated>2025-08-09T11:38:23Z</updated>
<title type="text">add net-url package</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/3a26ea964bbf3d6620632101f179e085f5e1d2b0.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit 3a26ea964bbf3d6620632101f179e085f5e1d2b0
parent 5726906c1c8b4e9670540b24d282adec6e1d6cb1
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Sat,  9 Aug 2025 12:38:23 +0100

add net-url package

</content>
</entry>
<entry>
<id>5726906c1c8b4e9670540b24d282adec6e1d6cb1</id>
<published>2025-08-09T08:20:36Z</published>
<updated>2025-08-09T08:20:36Z</updated>
<title type="text">send 404 if no post for slug</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/5726906c1c8b4e9670540b24d282adec6e1d6cb1.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit 5726906c1c8b4e9670540b24d282adec6e1d6cb1
parent a4c465e3917f2d4c07ef4b927763cdb2f0bc37f9
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Sat,  9 Aug 2025 09:20:36 +0100

send 404 if no post for slug

</content>
</entry>
<entry>
<id>a4c465e3917f2d4c07ef4b927763cdb2f0bc37f9</id>
<published>2025-08-08T21:18:44Z</published>
<updated>2025-08-08T21:18:52Z</updated>
<title type="text">fix floating images</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/a4c465e3917f2d4c07ef4b927763cdb2f0bc37f9.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit a4c465e3917f2d4c07ef4b927763cdb2f0bc37f9
parent 4ff634f53f5aa4533edbd2d923c6663a92fef410
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Fri,  8 Aug 2025 22:18:44 +0100

fix floating images

</content>
</entry>
<entry>
<id>4ff634f53f5aa4533edbd2d923c6663a92fef410</id>
<published>2025-08-08T21:18:20Z</published>
<updated>2025-08-08T21:18:20Z</updated>
<title type="text">topics may contain dashes</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/4ff634f53f5aa4533edbd2d923c6663a92fef410.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit 4ff634f53f5aa4533edbd2d923c6663a92fef410
parent 3d64448ecde5fa401b6d1da365b90fbd696cf997
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Fri,  8 Aug 2025 22:18:20 +0100

topics may contain dashes

</content>
</entry>
<entry>
<id>3d64448ecde5fa401b6d1da365b90fbd696cf997</id>
<published>2025-08-08T20:08:53Z</published>
<updated>2025-08-08T20:08:53Z</updated>
<title type="text">fix (/ 0) bug in topic rendering when only one topic</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/3d64448ecde5fa401b6d1da365b90fbd696cf997.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit 3d64448ecde5fa401b6d1da365b90fbd696cf997
parent 9dccd235fc90a80bb01a78d4baea815157e04d2d
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Fri,  8 Aug 2025 21:08:53 +0100

fix (/ 0) bug in topic rendering when only one topic

</content>
</entry>
<entry>
<id>9dccd235fc90a80bb01a78d4baea815157e04d2d</id>
<published>2025-08-08T20:08:08Z</published>
<updated>2025-08-08T20:08:41Z</updated>
<title type="text">hyperlink bare http[s] urls in markdown</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/9dccd235fc90a80bb01a78d4baea815157e04d2d.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit 9dccd235fc90a80bb01a78d4baea815157e04d2d
parent d462bc1233a20987df2f1c1f1a3c8ebf14580faa
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Fri,  8 Aug 2025 21:08:08 +0100

hyperlink bare http[s] urls in markdown

</content>
</entry>
<entry>
<id>d462bc1233a20987df2f1c1f1a3c8ebf14580faa</id>
<published>2025-08-08T20:07:46Z</published>
<updated>2025-08-08T20:07:46Z</updated>
<title type="text">parse iso timestamps (UTC only)</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/d462bc1233a20987df2f1c1f1a3c8ebf14580faa.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit d462bc1233a20987df2f1c1f1a3c8ebf14580faa
parent f514164bed33fcdc51de6a60b020e1df527e44c2
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Fri,  8 Aug 2025 21:07:46 +0100

parse iso timestamps (UTC only)

</content>
</entry>
<entry>
<id>f514164bed33fcdc51de6a60b020e1df527e44c2</id>
<published>2025-08-08T18:08:33Z</published>
<updated>2025-08-08T18:08:33Z</updated>
<title type="text">improve image rendering</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/f514164bed33fcdc51de6a60b020e1df527e44c2.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit f514164bed33fcdc51de6a60b020e1df527e44c2
parent 9c5255940139af2c8c70cb7fb56e5c5abf02b149
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Fri,  8 Aug 2025 19:08:33 +0100

improve image rendering

- add boxy for a lightbox thing
- mix css in so that they default to a sensible size

</content>
</entry>
<entry>
<id>9c5255940139af2c8c70cb7fb56e5c5abf02b149</id>
<published>2025-08-08T17:47:15Z</published>
<updated>2025-08-08T17:47:15Z</updated>
<title type="text">make links from bare URLs</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/9c5255940139af2c8c70cb7fb56e5c5abf02b149.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit 9c5255940139af2c8c70cb7fb56e5c5abf02b149
parent 0f4da2662817a8fd36eacce416074ca87adcfc72
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Fri,  8 Aug 2025 18:47:15 +0100

make links from bare URLs

</content>
</entry>
<entry>
<id>0f4da2662817a8fd36eacce416074ca87adcfc72</id>
<published>2025-08-07T18:45:58Z</published>
<updated>2025-08-07T18:45:58Z</updated>
<title type="text">print [[no-such-page]] as plain text</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/0f4da2662817a8fd36eacce416074ca87adcfc72.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit 0f4da2662817a8fd36eacce416074ca87adcfc72
parent a7fbd53eca9b097e565f00d68c6fc6fb89f8843e
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Thu,  7 Aug 2025 19:45:58 +0100

print [[no-such-page]] as plain text

instead of dying because it can&#39;t get the page title

</content>
</entry>
<entry>
<id>a7fbd53eca9b097e565f00d68c6fc6fb89f8843e</id>
<published>2025-08-07T18:36:09Z</published>
<updated>2025-08-07T18:36:09Z</updated>
<title type="text">eat blank lines at start of textile body</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/a7fbd53eca9b097e565f00d68c6fc6fb89f8843e.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit a7fbd53eca9b097e565f00d68c6fc6fb89f8843e
parent cee267df839b090bbd4c316b71567702aa1a0d9e
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Thu,  7 Aug 2025 19:36:09 +0100

eat blank lines at start of textile body

</content>
</entry>
<entry>
<id>cee267df839b090bbd4c316b71567702aa1a0d9e</id>
<published>2025-08-07T18:09:01Z</published>
<updated>2025-08-07T18:09:01Z</updated>
<title type="text">more/less to do</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/cee267df839b090bbd4c316b71567702aa1a0d9e.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit cee267df839b090bbd4c316b71567702aa1a0d9e
parent 87ac7da5dc41d125e83525bb83431d51983bf47a
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Thu,  7 Aug 2025 19:09:01 +0100

more/less to do

</content>
</entry>
<entry>
<id>87ac7da5dc41d125e83525bb83431d51983bf47a</id>
<published>2025-08-07T16:59:43Z</published>
<updated>2025-08-07T17:00:10Z</updated>
<title type="text">more TODO</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/87ac7da5dc41d125e83525bb83431d51983bf47a.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit 87ac7da5dc41d125e83525bb83431d51983bf47a
parent 650c619089df351babd5a10e0816aaa67b97aa8b
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Thu,  7 Aug 2025 17:59:43 +0100

more TODO

</content>
</entry>
<entry>
<id>650c619089df351babd5a10e0816aaa67b97aa8b</id>
<published>2025-08-06T22:42:48Z</published>
<updated>2025-08-07T17:00:10Z</updated>
<title type="text">installation checklist</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/650c619089df351babd5a10e0816aaa67b97aa8b.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit 650c619089df351babd5a10e0816aaa67b97aa8b
parent 190b34f93af90f986cb598b8fc7f73ba3ccdaf45
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Wed,  6 Aug 2025 23:42:48 +0100

installation checklist

</content>
</entry>
<entry>
<id>190b34f93af90f986cb598b8fc7f73ba3ccdaf45</id>
<published>2025-08-06T22:38:33Z</published>
<updated>2025-08-07T17:00:10Z</updated>
<title type="text">make a cripslock executable for ease of deploying the thing</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/190b34f93af90f986cb598b8fc7f73ba3ccdaf45.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit 190b34f93af90f986cb598b8fc7f73ba3ccdaf45
parent 994735dda164700c6b1f9496a9603e5b0ab63195
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Wed,  6 Aug 2025 23:38:33 +0100

make a cripslock executable for ease of deploying the thing

</content>
</entry>
<entry>
<id>994735dda164700c6b1f9496a9603e5b0ab63195</id>
<published>2025-08-06T21:44:33Z</published>
<updated>2025-08-06T21:44:33Z</updated>
<title type="text">pass pathname as param to run</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/994735dda164700c6b1f9496a9603e5b0ab63195.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit 994735dda164700c6b1f9496a9603e5b0ab63195
parent cf0640087f279ec4e01d8e2ad6d3b83842bdf6fd
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Wed,  6 Aug 2025 22:44:33 +0100

pass pathname as param to run

</content>
</entry>
<entry>
<id>cf0640087f279ec4e01d8e2ad6d3b83842bdf6fd</id>
<published>2025-08-06T21:42:48Z</published>
<updated>2025-08-06T21:42:48Z</updated>
<title type="text">remove file-scoped post-index, pass collection to fns that need it</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/cf0640087f279ec4e01d8e2ad6d3b83842bdf6fd.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit cf0640087f279ec4e01d8e2ad6d3b83842bdf6fd
parent 71b07a12dc9ee87fa1b56e2085b2776d39524cd9
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Wed,  6 Aug 2025 22:42:48 +0100

remove file-scoped post-index, pass collection to fns that need it

</content>
</entry>
<entry>
<id>71b07a12dc9ee87fa1b56e2085b2776d39524cd9</id>
<published>2025-08-06T21:29:12Z</published>
<updated>2025-08-06T21:29:12Z</updated>
<title type="text">swap param order to send-post</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/71b07a12dc9ee87fa1b56e2085b2776d39524cd9.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit 71b07a12dc9ee87fa1b56e2085b2776d39524cd9
parent 2907b037c49b57aca889bce9020f0d3f5950bae0
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Wed,  6 Aug 2025 22:29:12 +0100

swap param order to send-post

every other function accepts stream as first param,
so let&#39;s make this one consistent

</content>
</entry>
<entry>
<id>2907b037c49b57aca889bce9020f0d3f5950bae0</id>
<published>2025-08-06T20:04:30Z</published>
<updated>2025-08-06T20:04:30Z</updated>
<title type="text">move timestamp parsing to lib</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/2907b037c49b57aca889bce9020f0d3f5950bae0.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit 2907b037c49b57aca889bce9020f0d3f5950bae0
parent a305d2ebfc7f0a5ec08c4cd9edfc017f03ffe5b6
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Wed,  6 Aug 2025 21:04:30 +0100

move timestamp parsing to lib

</content>
</entry>
<entry>
<id>a305d2ebfc7f0a5ec08c4cd9edfc017f03ffe5b6</id>
<published>2025-08-06T19:30:26Z</published>
<updated>2025-08-06T19:31:41Z</updated>
<title type="text">move the file watcher into site.fnl</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/a305d2ebfc7f0a5ec08c4cd9edfc017f03ffe5b6.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit a305d2ebfc7f0a5ec08c4cd9edfc017f03ffe5b6
parent 6489b509848e5792f94e2548dff729a7c1d28fdf
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Wed,  6 Aug 2025 20:30:26 +0100

move the file watcher into site.fnl

</content>
</entry>
<entry>
<id>6489b509848e5792f94e2548dff729a7c1d28fdf</id>
<published>2025-08-06T16:35:04Z</published>
<updated>2025-08-06T16:35:04Z</updated>
<title type="text">shell script for adding some topics</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/6489b509848e5792f94e2548dff729a7c1d28fdf.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit 6489b509848e5792f94e2548dff729a7c1d28fdf
parent 52ffe63fbb3aa93c2c66a0d91082a1e20bb2444f
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Wed,  6 Aug 2025 17:35:04 +0100

shell script for adding some topics

</content>
</entry>
<entry>
<id>52ffe63fbb3aa93c2c66a0d91082a1e20bb2444f</id>
<published>2025-08-06T16:34:35Z</published>
<updated>2025-08-06T16:34:35Z</updated>
<title type="text">vary font size on topics sidebar box</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/52ffe63fbb3aa93c2c66a0d91082a1e20bb2444f.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit 52ffe63fbb3aa93c2c66a0d91082a1e20bb2444f
parent b1f809915dbf0e2c7d84c63cfd693289ece6bb73
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Wed,  6 Aug 2025 17:34:35 +0100

vary font size on topics sidebar box

</content>
</entry>
<entry>
<id>b1f809915dbf0e2c7d84c63cfd693289ece6bb73</id>
<published>2025-08-05T22:30:07Z</published>
<updated>2025-08-05T22:30:07Z</updated>
<title type="text">refresh TODO</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/b1f809915dbf0e2c7d84c63cfd693289ece6bb73.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit b1f809915dbf0e2c7d84c63cfd693289ece6bb73
parent 8da3e78b62c26cc5f053007ae82d8cae656cce3a
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Tue,  5 Aug 2025 23:30:07 +0100

refresh TODO

every day, it&#39;s getting closer

</content>
</entry>
<entry>
<id>8da3e78b62c26cc5f053007ae82d8cae656cce3a</id>
<published>2025-08-05T22:23:42Z</published>
<updated>2025-08-05T22:23:42Z</updated>
<title type="text">hook up inotify so we can reload when files change</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/8da3e78b62c26cc5f053007ae82d8cae656cce3a.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit 8da3e78b62c26cc5f053007ae82d8cae656cce3a
parent a139f8e797859f017146af8256dbad6cf8862f26
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Tue,  5 Aug 2025 23:23:42 +0100

hook up inotify so we can reload when files change

this is not the final form!

- it needs to know the pathname of each post, so it should
  be moved to the site module

- the notifier needs to be refreshed whenever the site is
  refreshed otherwise it won&#39;t notice new files after their
  first write

</content>
</entry>
<entry>
<id>a139f8e797859f017146af8256dbad6cf8862f26</id>
<published>2025-08-05T21:35:28Z</published>
<updated>2025-08-05T21:35:28Z</updated>
<title type="text">add /refresh endpoint to reindex the site</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/a139f8e797859f017146af8256dbad6cf8862f26.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit a139f8e797859f017146af8256dbad6cf8862f26
parent 7eec9e9f1b3610f4c61e38e3d924c71ad99eac31
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Tue,  5 Aug 2025 22:35:28 +0100

add /refresh endpoint to reindex the site

</content>
</entry>
<entry>
<id>7eec9e9f1b3610f4c61e38e3d924c71ad99eac31</id>
<published>2025-08-05T21:35:04Z</published>
<updated>2025-08-05T21:35:04Z</updated>
<title type="text">strip trailing whitespace</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/7eec9e9f1b3610f4c61e38e3d924c71ad99eac31.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit 7eec9e9f1b3610f4c61e38e3d924c71ad99eac31
parent 0d1debaa161e3a846ccca80fbe1da6d220758e08
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Tue,  5 Aug 2025 22:35:04 +0100

strip trailing whitespace

</content>
</entry>
<entry>
<id>0d1debaa161e3a846ccca80fbe1da6d220758e08</id>
<published>2025-08-05T17:25:01Z</published>
<updated>2025-08-05T18:32:45Z</updated>
<title type="text">textile: fix whitespace-related bugs</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/0d1debaa161e3a846ccca80fbe1da6d220758e08.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit 0d1debaa161e3a846ccca80fbe1da6d220758e08
parent 9ada974c1098f268ac61bebca906bf3770d9d698
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Tue,  5 Aug 2025 18:25:01 +0100

textile: fix whitespace-related bugs

* we have to treat \r as a space
* use the `whitespace` match instead of a literal &quot; &quot; in more places

</content>
</entry>
<entry>
<id>9ada974c1098f268ac61bebca906bf3770d9d698</id>
<published>2025-08-05T17:04:23Z</published>
<updated>2025-08-05T18:32:45Z</updated>
<title type="text">textile: add parse-string</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/9ada974c1098f268ac61bebca906bf3770d9d698.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit 9ada974c1098f268ac61bebca906bf3770d9d698
parent bbaaaa358e463574942aad2d400ca0238a29cc49
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Tue,  5 Aug 2025 18:04:23 +0100

textile: add parse-string

This makes the tests easier.  We read the whole thing before parsing
anyway, may as well expose that interface

</content>
</entry>
<entry>
<id>bbaaaa358e463574942aad2d400ca0238a29cc49</id>
<published>2025-08-05T17:03:01Z</published>
<updated>2025-08-05T18:32:45Z</updated>
<title type="text">textile: don&#39;t emph underscore in middle of word</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/bbaaaa358e463574942aad2d400ca0238a29cc49.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit bbaaaa358e463574942aad2d400ca0238a29cc49
parent 6484345a0eec47265d1b056036510e152be343bb
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Tue,  5 Aug 2025 18:03:01 +0100

textile: don&#39;t emph underscore in middle of word

emph pattern can only occur at the start of the string or after
whitespace

</content>
</entry>
<entry>
<id>6484345a0eec47265d1b056036510e152be343bb</id>
<published>2025-08-05T12:33:16Z</published>
<updated>2025-08-05T12:33:16Z</updated>
<title type="text">textile: recognise &lt;pre&gt; and don&#39;t process its innards</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/6484345a0eec47265d1b056036510e152be343bb.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit 6484345a0eec47265d1b056036510e152be343bb
parent 10d4b1d6689321f097ed132633ce06c4b8dd3227
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Tue,  5 Aug 2025 13:33:16 +0100

textile: recognise &lt;pre&gt; and don&#39;t process its innards

</content>
</entry>
<entry>
<id>10d4b1d6689321f097ed132633ce06c4b8dd3227</id>
<published>2025-08-04T22:21:50Z</published>
<updated>2025-08-04T22:21:50Z</updated>
<title type="text">remove empty line</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/10d4b1d6689321f097ed132633ce06c4b8dd3227.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit 10d4b1d6689321f097ed132633ce06c4b8dd3227
parent 279c06021c0e7eebf6506f4575bb21c1168b6bef
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Mon,  4 Aug 2025 23:21:50 +0100

remove empty line

</content>
</entry>
<entry>
<id>279c06021c0e7eebf6506f4575bb21c1168b6bef</id>
<published>2025-08-04T22:21:35Z</published>
<updated>2025-08-04T22:21:35Z</updated>
<title type="text">textile test: barf if file missing</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/279c06021c0e7eebf6506f4575bb21c1168b6bef.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit 279c06021c0e7eebf6506f4575bb21c1168b6bef
parent a035deb09d7d8b50240183700a6d0709e6a11c7e
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Mon,  4 Aug 2025 23:21:35 +0100

textile test: barf if file missing

</content>
</entry>
<entry>
<id>a035deb09d7d8b50240183700a6d0709e6a11c7e</id>
<published>2025-08-04T22:20:11Z</published>
<updated>2025-08-04T22:20:11Z</updated>
<title type="text">textile: use lpeg for the code handling inline markup</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/a035deb09d7d8b50240183700a6d0709e6a11c7e.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit a035deb09d7d8b50240183700a6d0709e6a11c7e
parent 4b189d1fa7bd2174592cf2174b9a810be932eccb
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Mon,  4 Aug 2025 23:20:11 +0100

textile: use lpeg for the code handling inline markup

this means we can handle (@code@) correctly, and also opens the way to
support __, ** etc if we find we&#39;ve actually written any textile that
needs it

</content>
</entry>
<entry>
<id>4b189d1fa7bd2174592cf2174b9a810be932eccb</id>
<published>2025-08-04T22:18:34Z</published>
<updated>2025-08-04T22:18:34Z</updated>
<title type="text">prepend: handle case when table is nil</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/4b189d1fa7bd2174592cf2174b9a810be932eccb.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit 4b189d1fa7bd2174592cf2174b9a810be932eccb
parent 12bd54052932f6ab148882c67df3609d1e29a3f7
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Mon,  4 Aug 2025 23:18:34 +0100

prepend: handle case when table is nil

</content>
</entry>
<entry>
<id>12bd54052932f6ab148882c67df3609d1e29a3f7</id>
<published>2025-07-31T21:15:55Z</published>
<updated>2025-07-31T21:15:55Z</updated>
<title type="text">add post body to rss</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/12bd54052932f6ab148882c67df3609d1e29a3f7.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit 12bd54052932f6ab148882c67df3609d1e29a3f7
parent 6331c57a8591097b6502fb4776464c35e8f4c64f
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Thu, 31 Jul 2025 22:15:55 +0100

add post body to rss

</content>
</entry>
<entry>
<id>6331c57a8591097b6502fb4776464c35e8f4c64f</id>
<published>2025-07-31T17:22:11Z</published>
<updated>2025-07-31T17:22:11Z</updated>
<title type="text">new method post:body reads post and converts from markdown/textile</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/6331c57a8591097b6502fb4776464c35e8f4c64f.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit 6331c57a8591097b6502fb4776464c35e8f4c64f
parent 5d63f693df75b51109d8a33964d14ae926a977e6
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Thu, 31 Jul 2025 18:22:11 +0100

new method post:body reads post and converts from markdown/textile

</content>
</entry>
<entry>
<id>5d63f693df75b51109d8a33964d14ae926a977e6</id>
<published>2025-07-30T22:25:42Z</published>
<updated>2025-07-30T22:25:42Z</updated>
<title type="text">bugfix handle to-html without stream arg</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/5d63f693df75b51109d8a33964d14ae926a977e6.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit 5d63f693df75b51109d8a33964d14ae926a977e6
parent 70077d86ad0fa8a4c9c3e3196abf66c8153d4c4c
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Wed, 30 Jul 2025 23:25:42 +0100

bugfix handle to-html without stream arg

</content>
</entry>
<entry>
<id>70077d86ad0fa8a4c9c3e3196abf66c8153d4c4c</id>
<published>2025-07-30T22:25:32Z</published>
<updated>2025-07-30T22:25:32Z</updated>
<title type="text">WIP rss feed</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/70077d86ad0fa8a4c9c3e3196abf66c8153d4c4c.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit 70077d86ad0fa8a4c9c3e3196abf66c8153d4c4c
parent ce4a3c48fb6e6b7907f97f064b1eccbb5b4d8a17
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Wed, 30 Jul 2025 23:25:32 +0100

WIP rss feed

</content>
</entry>
<entry>
<id>ce4a3c48fb6e6b7907f97f064b1eccbb5b4d8a17</id>
<published>2025-07-30T21:44:09Z</published>
<updated>2025-07-30T21:44:21Z</updated>
<title type="text">skip topics in search results</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/ce4a3c48fb6e6b7907f97f064b1eccbb5b4d8a17.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit ce4a3c48fb6e6b7907f97f064b1eccbb5b4d8a17
parent c42bcc14efcb938904039b5d9fc0eb6f137c1453
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Wed, 30 Jul 2025 22:44:09 +0100

skip topics in search results

</content>
</entry>
<entry>
<id>c42bcc14efcb938904039b5d9fc0eb6f137c1453</id>
<published>2025-07-30T21:31:51Z</published>
<updated>2025-07-30T21:31:51Z</updated>
<title type="text">use cq-stream where needed</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/c42bcc14efcb938904039b5d9fc0eb6f137c1453.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit c42bcc14efcb938904039b5d9fc0eb6f137c1453
parent 1df6d820cc5eb344c8048e73e17187523d678c6a
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Wed, 30 Jul 2025 22:31:51 +0100

use cq-stream where needed

</content>
</entry>
<entry>
<id>1df6d820cc5eb344c8048e73e17187523d678c6a</id>
<published>2025-07-30T21:29:25Z</published>
<updated>2025-07-30T21:29:25Z</updated>
<title type="text">default to utf8</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/1df6d820cc5eb344c8048e73e17187523d678c6a.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit 1df6d820cc5eb344c8048e73e17187523d678c6a
parent 0db3868b126a157f3554db5753800939427593af
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Wed, 30 Jul 2025 22:29:25 +0100

default to utf8

lua doesn&#39;t care, apparently

</content>
</entry>
<entry>
<id>0db3868b126a157f3554db5753800939427593af</id>
<published>2025-07-30T21:29:07Z</published>
<updated>2025-07-30T21:29:07Z</updated>
<title type="text">next/prev links on month pages</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/0db3868b126a157f3554db5753800939427593af.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit 0db3868b126a157f3554db5753800939427593af
parent d1f43a88b1dfe545e705f5add16cfd81367439fa
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Wed, 30 Jul 2025 22:29:07 +0100

next/prev links on month pages

</content>
</entry>
<entry>
<id>d1f43a88b1dfe545e705f5add16cfd81367439fa</id>
<published>2025-07-29T21:41:56Z</published>
<updated>2025-07-29T21:41:56Z</updated>
<title type="text">put topics in sidebar</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/d1f43a88b1dfe545e705f5add16cfd81367439fa.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit d1f43a88b1dfe545e705f5add16cfd81367439fa
parent d883d20c3ca6adb1cb272985b10efe64c4cb1a46
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Tue, 29 Jul 2025 22:41:56 +0100

put topics in sidebar

</content>
</entry>
<entry>
<id>d883d20c3ca6adb1cb272985b10efe64c4cb1a46</id>
<published>2025-07-29T21:19:08Z</published>
<updated>2025-07-29T21:19:08Z</updated>
<title type="text">delete unused code</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/d883d20c3ca6adb1cb272985b10efe64c4cb1a46.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit d883d20c3ca6adb1cb272985b10efe64c4cb1a46
parent 473d801f6005b6a733dc530c2e35cfc0c6c26507
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Tue, 29 Jul 2025 22:19:08 +0100

delete unused code

</content>
</entry>
<entry>
<id>473d801f6005b6a733dc530c2e35cfc0c6c26507</id>
<published>2025-07-28T21:46:30Z</published>
<updated>2025-07-28T21:46:30Z</updated>
<title type="text">bug fix in topic header parsing</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/473d801f6005b6a733dc530c2e35cfc0c6c26507.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit 473d801f6005b6a733dc530c2e35cfc0c6c26507
parent 8542f22b2cc484d401df899246e30b93e5e54be3
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Mon, 28 Jul 2025 22:46:30 +0100

bug fix in topic header parsing

</content>
</entry>
<entry>
<id>8542f22b2cc484d401df899246e30b93e5e54be3</id>
<published>2025-07-28T21:30:29Z</published>
<updated>2025-07-28T21:30:29Z</updated>
<title type="text">add --correlate to tests</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/8542f22b2cc484d401df899246e30b93e5e54be3.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit 8542f22b2cc484d401df899246e30b93e5e54be3
parent 981178a6d8912ac82e693260550d323f1e0aa190
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Mon, 28 Jul 2025 22:30:29 +0100

add --correlate to tests

</content>
</entry>
<entry>
<id>981178a6d8912ac82e693260550d323f1e0aa190</id>
<published>2025-07-28T21:30:02Z</published>
<updated>2025-07-28T21:30:02Z</updated>
<title type="text">rewrite dispatch</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/981178a6d8912ac82e693260550d323f1e0aa190.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit 981178a6d8912ac82e693260550d323f1e0aa190
parent 81550d90fb85a5a5b88b7ba0f08bf9a668c4900d
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Mon, 28 Jul 2025 22:30:02 +0100

rewrite dispatch

and add support for topic pages, which this makes a lot easier

</content>
</entry>
<entry>
<id>81550d90fb85a5a5b88b7ba0f08bf9a668c4900d</id>
<published>2025-07-27T23:24:25Z</published>
<updated>2025-07-27T23:24:25Z</updated>
<title type="text">extract fn send-search-results to use in /{ ... } handling</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/81550d90fb85a5a5b88b7ba0f08bf9a668c4900d.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit 81550d90fb85a5a5b88b7ba0f08bf9a668c4900d
parent 1b5e1f56fd214f0e4d6c532b8e6f9313d5057966
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Mon, 28 Jul 2025 00:24:25 +0100

extract fn send-search-results to use in /{ ... } handling

</content>
</entry>
<entry>
<id>1b5e1f56fd214f0e4d6c532b8e6f9313d5057966</id>
<published>2025-07-27T23:23:57Z</published>
<updated>2025-07-27T23:23:57Z</updated>
<title type="text">export string-stream from lib module</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/1b5e1f56fd214f0e4d6c532b8e6f9313d5057966.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit 1b5e1f56fd214f0e4d6c532b8e6f9313d5057966
parent 8cd1f7f9b6972a3a413d3050db8de16c4ff317ba
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Mon, 28 Jul 2025 00:23:57 +0100

export string-stream from lib module

</content>
</entry>
<entry>
<id>8cd1f7f9b6972a3a413d3050db8de16c4ff317ba</id>
<published>2025-07-27T21:55:13Z</published>
<updated>2025-07-27T21:55:13Z</updated>
<title type="text">rename and extract cons-tag -&gt; lib.prepend</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/8cd1f7f9b6972a3a413d3050db8de16c4ff317ba.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit 8cd1f7f9b6972a3a413d3050db8de16c4ff317ba
parent 9a729139b93c5b103251138fbd92a6642a39599a
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Sun, 27 Jul 2025 22:55:13 +0100

rename and extract cons-tag -&gt; lib.prepend

</content>
</entry>
<entry>
<id>9a729139b93c5b103251138fbd92a6642a39599a</id>
<published>2025-07-27T21:44:50Z</published>
<updated>2025-07-27T21:44:50Z</updated>
<title type="text">extract to-html into its own module</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/9a729139b93c5b103251138fbd92a6642a39599a.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit 9a729139b93c5b103251138fbd92a6642a39599a
parent 6df87b8ac8abff5e4ffbdc4acfcb45f5490225cb
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Sun, 27 Jul 2025 22:44:50 +0100

extract to-html into its own module

</content>
</entry>
<entry>
<id>6df87b8ac8abff5e4ffbdc4acfcb45f5490225cb</id>
<published>2025-07-27T21:01:03Z</published>
<updated>2025-07-27T21:01:03Z</updated>
<title type="text">update TODO</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/6df87b8ac8abff5e4ffbdc4acfcb45f5490225cb.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit 6df87b8ac8abff5e4ffbdc4acfcb45f5490225cb
parent 5d4deeac2ee2c24f8c69d8f5c7dc3bb79d1b0ac4
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Sun, 27 Jul 2025 22:01:03 +0100

update TODO

</content>
</entry>
<entry>
<id>5d4deeac2ee2c24f8c69d8f5c7dc3bb79d1b0ac4</id>
<published>2025-07-27T21:00:37Z</published>
<updated>2025-07-27T21:00:37Z</updated>
<title type="text">note bug in textile translation</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/5d4deeac2ee2c24f8c69d8f5c7dc3bb79d1b0ac4.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit 5d4deeac2ee2c24f8c69d8f5c7dc3bb79d1b0ac4
parent 6bed142bffdcdedd90a31f3f71636e6ca356922c
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Sun, 27 Jul 2025 22:00:37 +0100

note bug in textile translation

</content>
</entry>
<entry>
<id>6bed142bffdcdedd90a31f3f71636e6ca356922c</id>
<published>2025-07-27T21:00:07Z</published>
<updated>2025-07-27T21:00:07Z</updated>
<title type="text">introduce syntax for inline search</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/6bed142bffdcdedd90a31f3f71636e6ca356922c.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit 6bed142bffdcdedd90a31f3f71636e6ca356922c
parent 92811857431e49e1c22a468f5b2bfc55c3688ce3
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Sun, 27 Jul 2025 22:00:07 +0100

introduce syntax for inline search

implementation is kind o fhacky

</content>
</entry>
<entry>
<id>92811857431e49e1c22a468f5b2bfc55c3688ce3</id>
<published>2025-07-27T20:59:38Z</published>
<updated>2025-07-27T20:59:38Z</updated>
<title type="text">allow topics header in frontmatter</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/92811857431e49e1c22a468f5b2bfc55c3688ce3.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit 92811857431e49e1c22a468f5b2bfc55c3688ce3
parent 05c190cb618365216a876992fd8234f78a908d49
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Sun, 27 Jul 2025 21:59:38 +0100

allow topics header in frontmatter

</content>
</entry>
<entry>
<id>05c190cb618365216a876992fd8234f78a908d49</id>
<published>2025-07-27T20:58:44Z</published>
<updated>2025-07-27T20:58:44Z</updated>
<title type="text">allow sliug header in frontmatter</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/05c190cb618365216a876992fd8234f78a908d49.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit 05c190cb618365216a876992fd8234f78a908d49
parent 6a00cdb30156d02b71351816a306153ec236bb43
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Sun, 27 Jul 2025 21:58:44 +0100

allow sliug header in frontmatter

</content>
</entry>
<entry>
<id>6a00cdb30156d02b71351816a306153ec236bb43</id>
<published>2025-07-26T20:15:30Z</published>
<updated>2025-07-26T20:15:30Z</updated>
<title type="text">add [[slug]] syntax for internal links in markdown</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/6a00cdb30156d02b71351816a306153ec236bb43.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit 6a00cdb30156d02b71351816a306153ec236bb43
parent 719863bbe008aad642fb3bf314f4ee03e38c6adb
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Sat, 26 Jul 2025 21:15:30 +0100

add [[slug]] syntax for internal links in markdown

</content>
</entry>
<entry>
<id>719863bbe008aad642fb3bf314f4ee03e38c6adb</id>
<published>2025-07-23T20:42:04Z</published>
<updated>2025-07-23T20:51:01Z</updated>
<title type="text">implement excerpts</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/719863bbe008aad642fb3bf314f4ee03e38c6adb.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit 719863bbe008aad642fb3bf314f4ee03e38c6adb
parent e5e3c787a86c5a21c13802f9606c9b84b7c7a0ac
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Wed, 23 Jul 2025 21:42:04 +0100

implement excerpts

we can choose to display only the first ~ 500 chars from each post

</content>
</entry>
<entry>
<id>e5e3c787a86c5a21c13802f9606c9b84b7c7a0ac</id>
<published>2025-07-23T16:53:59Z</published>
<updated>2025-07-23T16:54:02Z</updated>
<title type="text">rewrite README</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/e5e3c787a86c5a21c13802f9606c9b84b7c7a0ac.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit e5e3c787a86c5a21c13802f9606c9b84b7c7a0ac
parent 0ad9cedbc3b07b66408fd87bb99246053f4e1b20
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Wed, 23 Jul 2025 17:53:59 +0100

rewrite README

</content>
</entry>
<entry>
<id>0ad9cedbc3b07b66408fd87bb99246053f4e1b20</id>
<published>2025-07-23T16:52:56Z</published>
<updated>2025-07-23T16:54:02Z</updated>
<title type="text">add doctype to html output</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/0ad9cedbc3b07b66408fd87bb99246053f4e1b20.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit 0ad9cedbc3b07b66408fd87bb99246053f4e1b20
parent 838d7f0f942880966b0e826626114d2e100fb34f
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Wed, 23 Jul 2025 17:52:56 +0100

add doctype to html output

</content>
</entry>
<entry>
<id>838d7f0f942880966b0e826626114d2e100fb34f</id>
<published>2025-07-23T16:51:37Z</published>
<updated>2025-07-23T16:54:02Z</updated>
<title type="text">textile: accommodate dos line endings</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/838d7f0f942880966b0e826626114d2e100fb34f.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit 838d7f0f942880966b0e826626114d2e100fb34f
parent 7a8729c6aa0b1a9767422f34c4a7245550ad1b42
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Wed, 23 Jul 2025 17:51:37 +0100

textile: accommodate dos line endings

</content>
</entry>
<entry>
<id>7a8729c6aa0b1a9767422f34c4a7245550ad1b42</id>
<published>2025-07-23T16:49:12Z</published>
<updated>2025-07-23T16:54:02Z</updated>
<title type="text">implement search offset and limit</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/7a8729c6aa0b1a9767422f34c4a7245550ad1b42.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit 7a8729c6aa0b1a9767422f34c4a7245550ad1b42
parent aa9b4fec051178ad6a2c43aadebd076a6cac45b0
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Wed, 23 Jul 2025 17:49:12 +0100

implement search offset and limit

</content>
</entry>
<entry>
<id>aa9b4fec051178ad6a2c43aadebd076a6cac45b0</id>
<published>2025-07-23T16:46:03Z</published>
<updated>2025-07-23T16:54:02Z</updated>
<title type="text">textile: don&#39;t process inline markup where the body is empty</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/aa9b4fec051178ad6a2c43aadebd076a6cac45b0.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit aa9b4fec051178ad6a2c43aadebd076a6cac45b0
parent 0833024368c41ab2135f4a3082ba069deb327a0c
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Wed, 23 Jul 2025 17:46:03 +0100

textile: don&#39;t process inline markup where the body is empty

&quot;--help&quot; is just two hyphens, not a zero-width strikeout region

</content>
</entry>
</feed>
