Kevin C. Wong

Personal Wiki

I want a wiki to track my RPG campaigns. RapidWeaver works less well for that; it feels like it'll be hard to navigate as a creator if you have hundreds of pages. Also the web sites it publishes don't have any search functionality which I understand is outside the scope of what RapidWeaver should do (mostly static web sites without PHP or backend code; any sort of dynamism is done view front-end modules that run on browser client).

If I can do the below then the wiki could also be my v6 web site.

- blogs with RSS feed
- podcast with RSS feed that Apple Podcasts app can read
- photo album

There are a lot of wiki platforms out there. I kind of looked at some and picked out a few promising ones.

BookStack


This is a wiki that uses a book model: shelves --> books --> chapters --> pages. Seems simpler to use for creators and users while creating good looking sites that by default supports the books model. Built-in page editor supports diagrams.net drawing capability.

Requirements:

Web Server that supports PHP
PHP 8.0.2
MySQL 5.7 or MariaDB 10.2
Git to retrieve the latest installation

diagrams.net support is interesting as you can create a diagram (that is saved as a PNG with extra diagrams.net data) and later edit the diagram. Could be useful for creating maps that you can add more data and notes as PCs explore the world.

Unfortunately it does not support blogs or rss feeds. I can see this as nice for RPG campaign management but not for general use.

Addendum:

I asked OpenAI's ChatGPT and it says BookStack doesn't support blogs (because it assumes I want commenting and customizing appearance of a blog). It also said that BookStack can do rss feeds by appending /rss to any link.

BookStack can't do podcasts. The closest would be "Audio" block which then pulls the file from another server. So I guess I could put the audio files on a different part of my website. But that still doesn't generate a podcast rss feed... You can use Feedburner or Feedly to generate the rss content than copy/paste into a BookStack page. Not sure how well that would work but worth a try.

For photo albums you can use "Image Gallery" and "Image" blocks to create your own. BookStack won't generate them automatically but I suppose that is sufficient.

DokuWiki


This is an older wiki platform and the interesting thing is that it saves data in plain text files whereas most every other wiki saves to a database. It has lots of plugins (1200+) and themes/templates (100+).

Requirements:

Web Server that supports PHP
PHP 7.2 or later
Optional: PHP GD extension or Image Magick, for image resizing

There is a Blog plugin which sets up its own wiki area separate from the rest of your wiki and uses its own database storage, or you can use several plugins to implement blogs.

There is also a 2 year-old podcast plugin though it may have been abandoned.

Because of the many plugins this can be a surprisingly complicated solution.

Wiki.js


A fairly slick and big wiki that runs on Node.js.

Requirements:

(No web server, includes its own web server)
Node.js 12.x or later
PostgresSQL (other databases supported but not in the upcoming 3.0 release)

It has a tabular editor for table data. There is a blog editor. Both are modules included in Wiki.js and I guess there are third party modules you can install though I didn't find any info.

Like BookStack, supports create/edit diagrams.net/draw.io diagrams via Markdown editor. Though not sure how well supported.

Addendum:

Asking ChatGPT Wiki.js has more blogging support including commenting and rss feeds. Podcast support is same as BookStack, i.e. minimal including generating the rss yourself and copy/paste into a page. Photo albums seem to be a bit easier to do that with BookStack as your preview page is just an index page.

MediaWiki


This is what Wikipedia runs on.

Requirements:

Web Server
PHP 7.4.3 or later
Database server: MariaDB, MySQL, PostgresSQL, or SQLite

It is kind of heavyweight for implementors and editors. There are blog extensions. Though I guess the problem with third party extensions is that people move on and the development is abandoned unless someone else picks it up. And also there are a hella lot of extensions for MediaWiki.


I guess Wiki.js is the closest combining ease of implementation/use and features that I want. BookStack is my second choice.