The Flippi package

[ Tags: bsd3, program, text ] [ Propose Tags ]

Flippi is a Wiki clone written in Haskell

[Skip to Readme]


Versions 0.0.3, 0.0.4, 0.0.5
Dependencies base, cgi, containers, directory, haskell98, old-time, parsec, xhtml [details]
License BSD3
Author Philippa Cowderoy
Maintainer Philippa Cowderoy <>
Category Text
Home page
Uploaded Sat Mar 15 08:46:18 UTC 2008 by AudreyTang
Distributions NixOS:0.0.5
Executables flippi
Downloads 1039 total (4 in the last 30 days)
Rating 0.0 (0 ratings) [clear rating]
  • λ
  • λ
  • λ
Status Docs not available [build log]
All reported builds failed as of 2017-01-03 [all 7 reports]
Hackage Matrix CI


Maintainer's Corner

For package maintainers and hackage trustees

Readme for Flippi-0.0.4

[back to package description]
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 BSD
license. There's an installation of Flippi running at - hopefully, details of
user 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

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.


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
       * 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

v0.02: * Added proper (first edit wins) edit conflict resolution
       * Fixed some potential holes such as editing the page ""
       * Better page templates
       * Enough markup to just about be usable (paragraphs, escapes)

v0.01: * Early version shown to a few friends
       * Missing just about everything! But it does page IO


Thanks to Shae Erisson for encouragement, discussion, a test server and above
all else naming Flippi - if you don't like the name, blame it on him!

Philippa Cowderoy