Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Commits on Feb 8, 2012
Commits on Apr 23, 2011
  1. Migrated to happstack-6.

    API changes:
    * Removed withInput.
    * Replace fileContents with filePath in Params.
    * uploadForm.js:  Remove prefix with path when populating wikiname field.
Commits on Apr 13, 2011
  1. @gwern
Commits on Mar 30, 2011
  1. Added authentication-required field.

    * If set to 'modify', authentication is required to modify the wiki.
    * If set to 'read', atuhentication is required to view the wiki.
    * If set to 'none', authentication is never required, and pages can
      be edited anonymously.
    API changes:
    * currentUser moved to Authentication module
    * requireAuthentication added to Config
    * Added AuthenticationLevel type
    * requireUser renamed authenticate, parameter for AuthenticationLevel
      added; requireUserThat renamed authenticateUserThat
Commits on Jan 17, 2011
  1. Fixed some -Wall warnings.

Commits on Aug 23, 2010
  1. Export Page module

    Chris Eidhof committed with
Commits on Mar 15, 2010
Commits on Jan 22, 2010
  1. disable upload functionality if maxUploadSize is 0

    Thomas Hartman committed with
Commits on Jan 20, 2010
Commits on Oct 24, 2009
  1. Merge commit 'tphyahoo/master'

    John MacFarlane committed
  2. Added check for not-null when using last.

    John MacFarlane committed
  3. safify, replace unsafe last last with lastNote, which at least gives …

    Thomas Hartman committed
    …a meaningful error message
  4. Return 404 when page not found.

    John MacFarlane committed
    Thanks to Richard Fergie for the suggestion.
Commits on Sep 12, 2009
  1. Allow showPage to work with POST as well as GET.

    Resolves Issue #60.
Commits on Aug 23, 2009
  1. Fixed links in sample program.

  2. Major routing changes.

    Instead of "?edit", "?upload", "?diff", "?history", etc.,
    we now use prefixed paths: "/_edit/", "/_upload", etc.
    This makes it possible to exclude robots from these pages
    using robots.txt (which allows only prefix matches).
Commits on Aug 22, 2009
  1. Fixed gzip encoding.

Commits on Aug 16, 2009
  1. hlint suggestions.

  2. Exposed runHandler.

  3. Renamed wikiHandler -> wiki.

  4. Made unpackReaderT more polymorphic.

Commits on Aug 15, 2009
  1. Haddock documentation cleanup.

  2. Export Handler in Network.Gitit.

    It is used by the second sample program!
Commits on Aug 12, 2009
  1. Added atom feeds.

    + Added Network.Gitit.Feed module (heavily
      modified from preliminary version by gwern).
    + Added feed handlers:
      - sitewide: /_feed
      - per-page: /_feed/path/to/page
    + Added caching for feeds (with a configurable
      expiration time).
    + Added use-feed, base-url, wiki-title,
      feed-days, and feed-refresh-time options to config
      file (and useFeed, baseUrl, wikiTitle, feedDays,
      and feedRefreshTime to Config record).
Commits on Aug 11, 2009
  1. Changed 'expire cache' handler URL, fixed security bug, unicode fixes.

    + A POST request to /_expire/page/url will expire the page.
      The previous method allowed an arbitrary path to be passed
      in the pageName parameter, potentially allowing deletion of
      files outside the cache directory.  This isn't possible with
      the new method, since page URLs cannot contain '..'.
    + Encode all unicode pagenames when they occur in URLs.
    + Don't show 'revision=' in links if revision is empty.
    + Eliminated unneeded 'nothead' attribute.
  2. Changed caching model and simplified ContentTransformer.

    + Simplified combinators in the ContentTransformer module.
      - Replaced cachedContents w/ simpler cachedHtml.
      - Simplified cacheHtml.
      - Revised htmlViaPandoc, exportViaPandoc, and highlightRawSource.
      - Removed several unneeded combinators, which managed the
        complicated monadic plumbing used by the old caching
        system: mbContentsToWikiPandocPageCached, pandocToWikiDivCached,
        highlightSourceCached, skipIfCached, useCache,
        mbPageToWikiPandocPage, maybePandocToHtml, pandocToWikiDiv.
    + Simplified code in Layout.  Changed pgMarkupHelp to a Maybe.
    + Changed caching functions to cache a whole page.  (This
      is possible because the logged in user is now obtained via
      an ajax call.)  The page is stored on disk, not in memory.
    + Removed max-cache-size (maxCacheSize) config option; added
      use-cache (useCache) and cache-dir (cacheDir).
    + Removed check of revision from caching functions.  Cached
      pages must now be manually expired.  This vastly increases
    + Moved caching functions (lookupCache, cacheContents) from State to new
      Cache module.  Removed unneeded auxiliary functions.  Added
    + Changed updatePage and uploadFile handlers to manually expire
      the cache when contents change.
    + Add handler (expireCache) bound to '/_expire' to
      expire a cached page or file.  Bound Ctrl-R to this
      handler, so a user can expire the cache manually with
    + Improved userbox, with a separate 'noscript' version for
      browsers without javascript.
    + Updated documentation on caching.
Commits on Aug 3, 2009
  1. Added _user handler.

Commits on Aug 1, 2009
  1. Major architectural revision of authentication system.

    + Now the currently logged in user is taken from the
      REMOTE_USER request header.
    + This can be set externally (as by mod_auth_cas) or
      by a gitit filter that runs before the other wiki handlers.
    + This gitit filter, withUser, is set in config and will
      differ depending on whether we're using form authentication
      (in which case the user will be extracted from a session)
      or http authentication (in which case it will be extracted
      from the "authorization" request header).  (When we're
      using gitit with an external system that sets REMOTE_USER,
      we can set this to id.)
    + Config also specifies authHandler, which includes handlers
      for urls like _login and _logout.  This can be set to use
      the form-based authentication handlers or a pared-down
      logout handler for HTTP authentication.
    + The requireUser combinator checks that a user is logged
      in before running a handler; if not, we divert to the _login
      page with a 'destination' parameter with the URL to return to.
      This replaces the old ifLoggedIn.
    + A GET parameter is now used for 'destination', rather than a
      cookie.  Also, we try not to rely on 'referer' except as a
Commits on Jul 20, 2009
  1. Changed config to take user handlers rather than AuthenticationMethod.

    + Config sets these appropriately.
    + They can be specified in a calling program.
    + The login/out box is now no longer hidden when non-form authentication
      is used.
Something went wrong with that request. Please try again.