BrutalWiki is experimental, which is a fancy way of saying I got the idea one day and couldn't sleep until I actually got it to work. It's probably not very useful; maybe later versions will change that. It will most likely remain geared towards personal use even then.
BrutalWiki is mainly inspired by TiddlyWiki and OddMuse, the two engines I've been using lately.
TiddlyWiki homepage
OddMuse homepage
Its distinguishing traits are: a markup language that can be rendered to HTML through simple text substitution, and a database contained entirely in one JSON file. That limits the total amount of text that can be stored on any given wiki, but makes backups easy, and some other operations even easier.
Design goals
- BrutalWiki is made for people first. Search engines are supposed to serve us, not the other way around.
- BrutalWiki aims to be a personal wiki engine. There are plenty others designed for collaboration, some of them big and powerful.
- BrutalWiki should work in text-based browsers, maybe even without cookies.
A word on wiki syntax
Meatball Wiki has this to say on syntax:
One, there should be no standard syntax. The WikiSyntax is the UserInterface, it is not the data encoding.
As they go on to say, this point is lost on many:
To use rich text editors or raw HTML is to miss the point. This isn't about ease of use, and hiding options is fake ease of use.
Implementation
BrutalWiki is written in PHP, and contained in a single source file, though that's hardly unique. Development is being done on PHP 7.3, and it's known to work on 7.4; it should be compatible with much older versions, but they're not supported.
The JSON extension is required.
As of version 1.3, the full edition of BrutalWiki is 580 lines long, almost three times the size of the base edition, and twice the size WabiSabi Wiki was when I abandoned it ten years ago. Somehow it's still crystal-clear, and I made it surprisingly (and easily) extensible simply by rearranging the source code a little.