Sam Wilson's Website

T7: Twyne

Twyne is a the name of the software that I buid my website in. I started it in 2020, after finally getting sick of every other system of website building not doing what I want.


  1. By .

    I've added better pagination to Twyne post lists now. Dates were showing everything for a given month, but now if there's more than ten there's a link to page two and so on. It's the same as was already working for tags.

    Now I can get back to adding 2FA support, and then fix up the editing form's display on small screens (it's been broken since I added the Select2 auto-completion for tags).

  2. By .

    I've recently added support to my website for linking posts' tags to Wikidata entities. This means that each tag (which has it's own URL at samwilson.id.au/Tnn where nn is the tag ID) can be linked to a Wikidata ID, and have a little table of facts displayed. This means that tags are no longer just strings, but are firmly linked to a meaningful concept — a tag such as 'York' is definitely the town in Western Australia and not the one in Yorkshire. No two tags are allowed to be linked to the same Wikidata item.

    The other part of this work was adding a lookup widget to the tag entry form field. Before, it was just a text box and tags had to be entered with semicolons separating them. Now, you start typing and a dropdown appears with suggestions firstly from existing tags on the site and then below them with labels and descriptions of Wikidata items. It makes entering new tags much easier.

    It's great fun going back through my archives and linking all the tags, although it's also highlighting the fact that I often create duplicate tags (e.g. misspellings, or Fremantle Railway Station vs Fremantle Train Station). To add a tag-merging system I first need to add a system of tracking and redirecting old URLs (something I should've added ages ago when I added the ability to delete duplicate posts).

  3. By .

    I've finally got the Twyne CLI client working, and it's churning away uploading all of my past photographic archives (from Piwigo at the moment, 90 GB). The work for this has mostly been done before now, but I didn't get back to it to actually tidy it up and set it running. Hopefully this will set me off further down the path of actually having everything a) in one place, b) organised, c) backed up, and d) actually useful.

    I'm not sure if I'll tackle the export-to-Commons feature next, or sort out some of the UI bugs that are annoying me (like being able to zoom in on a photo). At the moment, I'm just poking through old photos and randomly fixing up metadata where I can; certainly there's some UI tweaks that will help with that process.

  4. By .

    The file that is attached to this post.

  5. By .

    So now this blog has a system of posting and tagging and locations and photos and so on, it should be possible to a) walk; b) write; and c) take photos, without spending a great deal of time thinking about a better system of doing all that. I say it should be possible, because I'm yet to actually see that happen.

  6. By .
  7. By .

    It's obviously the meaning of online writing, the blogiverse, and everything (because of the issue number: https://github.com/samwilson/twyne/issues/42 ) — so I've added support for "syndications" to Twyne. Each post can have a list of URLS (with labels) at which the post is duplicated. This is the first stage to making Twitter and Flickr imports work, so that each post can point back to where it came from (although, the import process will switch things around and pretend that the posts originate on my own site, even though that's not stricktly the case). Hopefully this will work.

  8. By .

    One key indieweb idea is that one can create a post wherever and syndicate that post to other sites. I'm attempting to switch completely to first posting on my own site, and then syndicating (i.e. duplicating my posts) on places such as Twitter and Flickr, as well as (for photos) Wikimedia Commons. It's sort of coming into shape, the database that I'm using for all this. It's got a great number of bits that I want to improve, and so sometimes I feel like I'm wasting my time — but then, when I think of all the time I've wasted trying to wrangle other systems into the shape that I want, I think I'm actually moving much faster with this and that it's completely worthwhile.

  9. By .

    I seem to be building a blogging system here that's interspersing blog posts, status updates, photos, and files all together in one timeline. That was my intention of course, but at some point I'm going to have to figure out good ways to create separate streams of things. I'd been thinking that this could be done just with tags, and I think that's probably central to it, but there needs to be some better layouts for different tag results I think. I'm going to start, at least, with a timeline navigation sidebar (sort of akin to Flickr's 'camera roll' page, I guess).

  10. By .

    The rain continues, even back in Perth. It's good coding weather.

    I'm trying to upload photos from Yallingup, but predictably feel like fixing some of the metadata handling first, and so might not get anything uploaded today. I do like the new system though, and am looking forward to having a better way to copy select photos to Commons.