Journal 2025-03-26
Yay!
I spent much of the last couple of weeks paying off technical debt. A blocker was my doc management setup #:postcraft, an application of #:transmissions. On the surface (and my immediate need is), the world's most over-engineered static site builder for my blog.
The last 5 yards was really frustrating. But now I have the trickiest parts good-enough for now, the transmissions being (source on GitHub) :
- md-to-sparqlstore - walks local dirs, pushes markdown docs (with metadata) to a SPARQL store
- sparqlstore-to-html - pulls docs from SPARQL store and renders as HTML pages
- sparqlstore-to-site-indexes - this renders a
index.htmland aatom.xmlfor the most recent entries.
The site-specific configuration for all of these is contained in a manifest.ttl (this one currently only being used for testing).
All this is provisional, there's a lot of tweaking to do in the #:postcraft application, loads of refactoring needed in #:transmissions along with masses of minor bugfixes and small feature additions. But I'm thinking I'm just about ready to publish a 0.9.0 version of #:transmissions as an npm, #:postcraft very soon as a release.
Get my blog publishing again first. This needs the static site support stuff - CSS etc - copying in place. Right now the above works by processing everything, but I know how to make it more sensible. Easiest way I can tell it is working is by cleaning up first. I believe I've got all the necessary to do this more-or-less in place, I just need to create the transmission.
So I've copied example-application and renamed to postcraft-statics.
It needs to :
- delete current site material - maybe not all at once, so I can be more selective if need be
- copy layouts across
- publish to host
I think I will leave 3. for now. I have been using GitHub as a transfer mechanism - push from my desktop, pull from the server.
For 1. I have src/processors/fs/FileRemove.js. On a skim that looks current with the engine now (comments/docs need doing - later). For 2. src/processors/fs/FileCopy.js grrr, that isn't up-to-date. But it looks easily fixable.
Oh, I also have to update the #:postcraft template dir layout to the latest conventions I'm going for:
danny@danny-desktop:~/sites/strandz.it$ tree -L 2 --filesfirst postcraft/
postcraft/
├── about.md
├── manifest.ttl
├── content
│ ├── media
│ ├── raw
│ └── static
├── layout
│ ├── base
│ └── logos
├── public
│ ├── atom.xml
│ ├── index.html
│ └── blog
└── system
├── endpoints.json
└── sparql-templates
Under content I've got :
├── content
│ ├── media
│ │ └── images
│ ├── raw
│ │ ├── articles
│ │ ├── entries
│ │ ├── journal
│ │ ├── knowledge
│ │ └── todo
│ └── static
│ └── references
Hmm. Ditch journal, it's been easier to put these under entries, I can tag/filter later.