Flippi

This package is not currently in any snapshots. If you're interested in using it, we recommend adding it to Stackage Nightly. Doing so will make builds more reliable, and allow stackage.org to host generated Haddocks.

Flippi v0.03: A Wiki clone written in Haskell=============================================

As the title suggests, Flippi is a Wiki clone - a fairly basic one at present, written in Haskell by Philippa Cowderoy and released under the BSDlicense. There's an installation of Flippi running at http://www.scannedinavian.org/cgi-bin/flippi/flippi - hopefully, details ofuser modifications, new releases etc will be kept there.

Requirements: Flippi is written in plain Haskell 98 using a recent version of the hierarchical libraries - it builds fine under GHC 6.21, doesn't build under 5.02, hasn't been tested anywhere else.

To configure: Edit the source a little. The only really critical thing is where the data files go - this can be changed by editing the function dataDirectory in the PageIO module. The default is a directory data under the directory Flippi is run from.

To change how the pages look on screen, edit PageTemplates.hs.

To change the wiki markup, edit DeWikify.hs.

Scripts are ordinary functions of type [(String,String)] -> IO Html - to make one available, add an entry to the list "scripts" in Scripts.hs. It's probably a good idea if anybody distributing scripts they've written includes a fuller description of how to do this in the documentation so as to make things easier for users who don't know Haskell.

Installation: Should be pretty simple: either compile the lot (a GHC --make works fine) and set it up as a CGI executable or run it via your preferred Haskell interpreter like any other script.

GHC users should find some variant on this works: "ghc --make Flippi.hs -o <foo>" where <foo> is the name of the resulting executable.

Optionally, copy the files found under data\ in the distribution to wherever the CGI will be looking for page data - these initial pages document the markup syntax and tell users you're running Flippi. If you don't want to do this, you'll want to create a FrontPage - point a browser at the CGI and follow the link to create it.

History:--------

v0.03: * Added scripting API and corresponding syntax (see Script.hs, ScriptSyntax.hs) * Added RecentChanges script * Added HelloWorld example script in Script.hs * Added getPagenames to PageIO * Restricted page requests to valid pagenames as defined by a pattern in DeWikify (an isPagename function is exported by PageIO) * hopefully removed DOS/UNIX data issue - all data files are now written out in binary format, all input is done in text mode and then has CRLFs forcibly converted to LFs. The parser will read both LF and CRLF as new lines, though this should never be needed now. * Data files now go in a specified directory rather than having a specified prefix * A couple more bugfixes