I plan to create a "filesystem-based wiki", ie. a wiki with no versioning (which doesn't even make it a bliki)


It must be based on Plack. This will allow it to run on most webservers, even shared hosting such as Dreamhost, which allow FastCGI scripts (see Plack::Handler::FCGI).

Dispatcher / Middleware?

The dispatcher will be Web::Simple, which has the cool feature of subdispatch. Unlike other micro-micro-frameworks, Web::Simple doesn't have a templating system built-in.

Yes, static files can be served just fine with Plack — see Plack::App::File and Plack::App::Directory.

[TODO] Things that are kinda like mod_rewrite:


It would be nice if it could support a huge variety of different markup languages, and be configurable to select one.

But for now, I'm just interested in MultiMarkDown.

Recent changes

If Linux::Inotify2 or inotifywait is available, it will use those to update the recent-changes, without having to scan the entire tree constantly. (like I currently do with my cron)


Might it be possible to have the administrator create a single-file Perl script that defines the broad outlines of the wiki, and make it be very like a Dancer file?

Eg. It would be a framework. And the configuration would be in delcarative style. But it could include Perl code that would get called at proper times, eg: When doing the markup ⇒ HTML conversion.

It could also set configuration parameters, such as whether to use inotify or not. (inotify may very well be inappropriate on massively-shared-NFS-servers like Dreamhost)

Name? Plack::Bliki? Plack::FlatfileWiki?

Search engine

This... will be in a far-off version. I don't have anything remotely like this now. But keep in mind that this may come eventually, and figure out how it might fit in.

Literature review

Other things to explore first, to make sure I understand the current-state-of-the-art: