It's a slow morning. I had my two cups of coffee, ate my pancakes with plum jam, spent time online reading Mastodon, talked to my wife about wannabe-axe murderers on Swiss trains, looked up stuff about taxing the rich…
I've been working on Oddmu again. My goal is to be able to reproduce the Campaign Wiki setup:
Using Oddmu would also result in the following:
Oddmu now has the following features:
Once I had this implemented using a library that watches the filesystem for changes, I realized that I could use the same feature to index new pages. This brings me closer to having online and offline writing feature equivalence: Using the web site to create a page should be equivalent to writing a page elsewhere and uploading it to the site via rsync. (Offline you can use the `oddmu notify` command to add links to `index`, `changes` and hashtag pages.)
I think I'm getting close!
#Oddµ
Also, code complexity is through the roof, now. All the global maps aren't thread-safe so they need mutexes. There's a weird Heisenbug I have where I run the test suite and then `view.html` is gone. The next test run then fails, of course. Thinking it was related to the order of tests, I started running `go test -shuffle on` and found a plethora of *other* bugs. And I've seen at least two occasions where I noticed the disappearing `view.html` bug, noted the shuffle id, reran the test with that id, got the error again, tried for a third time, and then tests passed. So… it must be a race condition of some sort.
How aggravating.
Maybe something got lost, with that last set of changes.
I do feel, however, that I've found a lot of bugs… Just now, for example, to help prevent Oddmu from showing any directories or files with a path segment starting with a period…
And the archive needs to take ODDMU_FILTER into account!
Done. ✔️