I’m looking for a wiki (or a wiki-like CMS) with some special (probably rare) features.
Wiki basics
- create new page by linking to non-existent page and editing it
- page history (diff)
- list of recent changes
- text-based editor (some wiki syntax, but no WYSIWYG; should allow full HTML)
- restrict edit permission to registered users only (and allow disabling registration)
The editing workflow must be hassle-free (like it’s the case with probably any usual wiki): visit the page, go to the edit form, save it. No backend menus, no required preview, no required fields, etc.
Special features
- All frontend code (HTML and CSS, possibly JavaScript) must be editable from within the wiki, just like other wiki pages (i.e., with the same editor; offering also page history etc.).
- The actual content of a wiki page should be inserted at a given position (e.g., by adding a template tag).
- Wiki functionality ("Edit" and "History" links, global navigation for recent changes etc.) must be visible for registered users only.
- Access to those pages (e.g., by guessing the URL) should also be impossible for visitors (show 404 or 403).
- The public HTML must only contain the defined/editable frontend markup and the wiki page content. So the editor needs to have 100% control over the outputted markup (from within the wiki).
Not required, but would be great
- Support more than one "field" (apart from the wiki page main content): add a textarea for each template tag added in the HTML template to every edit page.
- From within the wiki, allow specifying the HTTP status code (e.g., for sending a 410) to be used, per page. In case of 3xx, allow specifying the target URLs.
- Allow defining which HTML the wiki syntax creates, from within the wiki.
Formal requirements
- It must be FLOSS.
- It must run natively on a GNU/Linux server.