2024-02-17 Oddµ leveled up
===========================

I’ve been using Oddµ for a while, now. There have been various stages
at which it was “ready”.

Level 0 was when you could run it and edit pages with it.

Level 1 included many things I wanted to have for my blog:

* uploading of images

* appending to a page (this is important for me as editing pages on
  the phone can be cumbersome but leaving comments on my own site was
  always easy to do)

* resizing of images being uploaded

* handling of HEIC images (iPhone)

* searching using hashtags (indexed), titles (indexed) and regular
  text search (no index)

I experimented with full text search and trigram index but it didn’t
go anywhere.

Another problem was that Oddmu would index the pages on startup:
hashtags and page names are kept in memory and updated when pages are
edited. If I made changes to the files, however, a restart was
required: adding or deleting pages, and edits affecting hashtags or
page titles resulted in those indexes being out of sync with the
files.

I really wanted Oddmu to be a wiki that I could edit using my favorite
text editor, offline – without restarts. For this to work, I would
have to watch the filesystem for changes.

I added the ability to change the HTML templates while Oddmu is
running (instead of at startup) and I added overriding global HTML
templates with local templates in the same directory. As far as look
and feel was concerned, every directory could now act as a separate
site.

Recently, I looked at the wiki hosting I do for Campaign Wiki. There,
role-playing game groups can create wikis in subdirectories that act
as lot like separate wikis in that search and the list of recent
changes is limited to their subdirectory. I wanted Oddmu to be able to
handle this without having to start extra instances.

I changed how notifications are made: instead of affecting index page,
changes page and hashtag pages in the root directory, they now affect
those pages in the local directory. As far as the list of changes was
concerned, each directory now acted as a separate site.

The last feature I wanted for a Campaign Wiki-like experience was
archive downloading: an archive action that would serve a zip of a
directory, both for backup and migration purposes.

And with that, there is now a Campaign Wiki program using Oddmu. 😄

I decided to write a sort of release notes with user-visible changes
from now on.

​#Oddµ