<feed xmlns='http://www.w3.org/2005/Atom'>
<title>sisudoc-spine/org, branch main</title>
<subtitle>SiSU Spine: document publishing and search (in D) 2015</subtitle>
<link rel='alternate' type='text/html' href='https://doc-reform.org/projects/sisudoc-spine/'/>
<entry>
<title>flake devshell: issues with diffoscope &amp; datasette</title>
<updated>2026-10-31T20:51:32+00:00</updated>
<author>
<name>Ralph Amissah</name>
<email>ralph.amissah@gmail.com</email>
</author>
<published>2026-10-28T19:28:31+00:00</published>
<link rel='alternate' type='text/html' href='https://doc-reform.org/projects/sisudoc-spine/commit/?id=e64e440151abe6011c473b6363a8493fcc7931e2'/>
<id>e64e440151abe6011c473b6363a8493fcc7931e2</id>
<content type='text'>
flake devshell issues with a couple of nixpkgs:

diffoscope pinned to nixos-26.05
  made available in dsh-production-post
  - datasette is useful for viewing sisudoc spine .ocda.db files without
    the need to write any sql.

datasette pinned to nixos-26.05 and patched asgi-csrf
  made available in dsh-production &amp; dsh-production-post
  - diffs two epubs, two odts or two pdfs by content rather (than as
    bytes) (useful when output moves and cmp only says "differ")

datasette broken in nixpkgs (both in stable nixos-26.05 and unstable)
nix refuses to evaluate it, fix with patched asgi-csrf
(used nixos-26.05)

python-multipart 0.0.26 removed FormParser's FileClass argument, which
asgi-csrf passes (simonw/asgi-csrf#38, open), and 26.05 carries 0.0.29.

A nixpkgs-stable input (nixos-26.05, by its channel url, locked), and
from it, for datasette alone, a python package set in which:

- asgi-csrf hands its own ErrorOnWrite(...).write to on_file, which
  python-multipart still calls as each file part ends, in place of
  FileClass: a file arriving before the csrf token is still refused,
  and asgi-csrf's 48 tests pass, the multipart ones included;
- datasette skips test_max_csv_mb, which streams a large csv under the
  query time limit and is interrupted on a loaded builder.

datasette is made available in dsh-production and dsh-production-post.
datasette 0.65.2 serves an .ocda.db, its tables, views, json api, sql
and facets.

(assisted by Claude-Code)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
flake devshell issues with a couple of nixpkgs:

diffoscope pinned to nixos-26.05
  made available in dsh-production-post
  - datasette is useful for viewing sisudoc spine .ocda.db files without
    the need to write any sql.

datasette pinned to nixos-26.05 and patched asgi-csrf
  made available in dsh-production &amp; dsh-production-post
  - diffs two epubs, two odts or two pdfs by content rather (than as
    bytes) (useful when output moves and cmp only says "differ")

datasette broken in nixpkgs (both in stable nixos-26.05 and unstable)
nix refuses to evaluate it, fix with patched asgi-csrf
(used nixos-26.05)

python-multipart 0.0.26 removed FormParser's FileClass argument, which
asgi-csrf passes (simonw/asgi-csrf#38, open), and 26.05 carries 0.0.29.

A nixpkgs-stable input (nixos-26.05, by its channel url, locked), and
from it, for datasette alone, a python package set in which:

- asgi-csrf hands its own ErrorOnWrite(...).write to on_file, which
  python-multipart still calls as each file part ends, in place of
  FileClass: a file arriving before the csrf token is still refused,
  and asgi-csrf's 48 tests pass, the multipart ones included;
- datasette skips test_max_csv_mb, which streams a large csv under the
  query time limit and is interrupted on a loaded builder.

datasette is made available in dsh-production and dsh-production-post.
datasette 0.65.2 serves an .ocda.db, its tables, views, json api, sql
and facets.

(assisted by Claude-Code)
</pre>
</div>
</content>
</entry>
<entry>
<title>org files mostly headers</title>
<updated>2026-10-25T00:45:37+00:00</updated>
<author>
<name>Ralph Amissah</name>
<email>ralph.amissah@gmail.com</email>
</author>
<published>2026-10-24T22:41:41+00:00</published>
<link rel='alternate' type='text/html' href='https://doc-reform.org/projects/sisudoc-spine/commit/?id=2a55a61d10739e782a82fcb438607e552148fbd9'/>
<id>2a55a61d10739e782a82fcb438607e552148fbd9</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>org minor tidy</title>
<updated>2026-10-24T03:19:44+00:00</updated>
<author>
<name>Ralph Amissah</name>
<email>ralph.amissah@gmail.com</email>
</author>
<published>2026-10-24T03:19:44+00:00</published>
<link rel='alternate' type='text/html' href='https://doc-reform.org/projects/sisudoc-spine/commit/?id=aa770ddd1748fc838fa71ed34dcf224a6914a165'/>
<id>aa770ddd1748fc838fa71ed34dcf224a6914a165</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>0.25.2</title>
<updated>2026-10-01T15:13:18+00:00</updated>
<author>
<name>Ralph Amissah</name>
<email>ralph.amissah@gmail.com</email>
</author>
<published>2026-10-01T15:13:18+00:00</published>
<link rel='alternate' type='text/html' href='https://doc-reform.org/projects/sisudoc-spine/commit/?id=d61360a444e2525fec31784dfae55f3ddfcbad09'/>
<id>d61360a444e2525fec31784dfae55f3ddfcbad09</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>dlang related overlay updates</title>
<updated>2026-10-01T15:08:43+00:00</updated>
<author>
<name>Ralph Amissah</name>
<email>ralph.amissah@gmail.com</email>
</author>
<published>2026-10-01T14:45:21+00:00</published>
<link rel='alternate' type='text/html' href='https://doc-reform.org/projects/sisudoc-spine/commit/?id=bbc3803918a4ac4b82902afd38136ac78e492c32'/>
<id>bbc3803918a4ac4b82902afd38136ac78e492c32</id>
<content type='text'>
- dmd 2.113.0
- dtools 2.113.0
- dub 1.42.0

- ldc 1.43.0 (unchanged)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- dmd 2.113.0
- dtools 2.113.0
- dub 1.42.0

- ldc 1.43.0 (unchanged)
</pre>
</div>
</content>
</entry>
<entry>
<title>nix devshell: transient fix re broken nixpkgs</title>
<updated>2026-10-01T14:00:42+00:00</updated>
<author>
<name>Ralph Amissah</name>
<email>ralph.amissah@gmail.com</email>
</author>
<published>2026-09-30T21:07:37+00:00</published>
<link rel='alternate' type='text/html' href='https://doc-reform.org/projects/sisudoc-spine/commit/?id=67cb28da24d99820fd1b0b0483e67e40091528a5'/>
<id>67cb28da24d99820fd1b0b0483e67e40091528a5</id>
<content type='text'>
broken in nixpkgs:
- links2
- datasette (remains broken for the time being)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
broken in nixpkgs:
- links2
- datasette (remains broken for the time being)
</pre>
</div>
</content>
</entry>
<entry>
<title>metadata page: reporting digests only provide link</title>
<updated>2026-10-01T14:00:42+00:00</updated>
<author>
<name>Ralph Amissah</name>
<email>ralph.amissah@gmail.com</email>
</author>
<published>2026-09-30T21:01:14+00:00</published>
<link rel='alternate' type='text/html' href='https://doc-reform.org/projects/sisudoc-spine/commit/?id=7a6d7e3bc332230b5dff4962f10a5c6776b0c97b'/>
<id>7a6d7e3bc332230b5dff4962f10a5c6776b0c97b</id>
<content type='text'>
fix issue with reporting of multi-lingual document digests

Set as with the .ocda.db digest taken off this page on 2026-09-18,
and the same remedy: the page links &lt;doc&gt;.digests.txt, where each
digest is taken once, of the finished file, and quotes none itself.

single-language documents lose a line that was right, but for
multi-language documents the last language in the run was missing here,
and this cannot go wrong again.

(assisted by Claude-Code)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
fix issue with reporting of multi-lingual document digests

Set as with the .ocda.db digest taken off this page on 2026-09-18,
and the same remedy: the page links &lt;doc&gt;.digests.txt, where each
digest is taken once, of the finished file, and quotes none itself.

single-language documents lose a line that was right, but for
multi-language documents the last language in the run was missing here,
and this cannot go wrong again.

(assisted by Claude-Code)
</pre>
</div>
</content>
</entry>
<entry>
<title>title is h1 class "heading title", sized above h1</title>
<updated>2026-10-01T14:00:42+00:00</updated>
<author>
<name>Ralph Amissah</name>
<email>ralph.amissah@gmail.com</email>
</author>
<published>2026-09-30T20:55:58+00:00</published>
<link rel='alternate' type='text/html' href='https://doc-reform.org/projects/sisudoc-spine/commit/?id=b7da3f01212570daf9cc9678d7e46158514eb88b'/>
<id>b7da3f01212570daf9cc9678d7e46158514eb88b</id>
<content type='text'>
html &amp; epub (share css): with &lt;h0&gt; gone the title became &lt;h1&gt;. The title
now carries class "heading title", and each stylesheet's h0 rules are
h1.title rules with the same values; h0 leaves the grouped selectors,
being emitted by nothing. In html the title looks as it did.

(assisted by Claude-Code)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
html &amp; epub (share css): with &lt;h0&gt; gone the title became &lt;h1&gt;. The title
now carries class "heading title", and each stylesheet's h0 rules are
h1.title rules with the same values; h0 leaves the grouped selectors,
being emitted by nothing. In html the title looks as it did.

(assisted by Claude-Code)
</pre>
</div>
</content>
</entry>
<entry>
<title>html &amp; epub header fixes, miscellany</title>
<updated>2026-10-01T14:00:40+00:00</updated>
<author>
<name>Ralph Amissah</name>
<email>ralph.amissah@gmail.com</email>
</author>
<published>2026-09-30T20:42:56+00:00</published>
<link rel='alternate' type='text/html' href='https://doc-reform.org/projects/sisudoc-spine/commit/?id=98216e47ee51b43ac13660ebcfff91895b7e1519'/>
<id>98216e47ee51b43ac13660ebcfff91895b7e1519</id>
<content type='text'>
- adjust metadata, cleanup fixes
- no &lt;h0&gt; realign title on h1 along with bespoke css
- show group bullets

(assisted by Claude-Code)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- adjust metadata, cleanup fixes
- no &lt;h0&gt; realign title on h1 along with bespoke css
- show group bullets

(assisted by Claude-Code)
</pre>
</div>
</content>
</entry>
<entry>
<title>abstraction 2.1: a poem states its object range</title>
<updated>2026-10-01T03:14:23+00:00</updated>
<author>
<name>Ralph Amissah</name>
<email>ralph.amissah@gmail.com</email>
</author>
<published>2026-09-30T20:18:59+00:00</published>
<link rel='alternate' type='text/html' href='https://doc-reform.org/projects/sisudoc-spine/commit/?id=993a3f655359f98dc26d3d3222e07792e2ccddf7'/>
<id>993a3f655359f98dc26d3d3222e07792e2ccddf7</id>
<content type='text'>
- A poem is a container of verse, and stores its range of verse ocn,
  - its verse are the citable units with ocn.

- A note in the last verse of a poem previously was not gathered into
  the endnotes section, this now is fixed

Format 2.0 -&gt; 2.1: the property is an addition, the poem is not a
citable object (but contans a range of objects), its verse are
(individual citable objects), and every reader checks the major version.
A 2.0 database reads as having no ranges.

(assisted by Claude-Code)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- A poem is a container of verse, and stores its range of verse ocn,
  - its verse are the citable units with ocn.

- A note in the last verse of a poem previously was not gathered into
  the endnotes section, this now is fixed

Format 2.0 -&gt; 2.1: the property is an addition, the poem is not a
citable object (but contans a range of objects), its verse are
(individual citable objects), and every reader checks the major version.
A 2.0 database reads as having no ranges.

(assisted by Claude-Code)
</pre>
</div>
</content>
</entry>
</feed>
