gitit-0.12.3.2: Wiki using happstack, git or darcs, and pandoc.

Network.Gitit.Framework

Description

Useful functions for defining wiki handlers.

Synopsis

# Combinators for dealing with users

Run the handler after setting REMOTE_USER with the user from the session.

Run the handler after setting REMOTE_USER from the "authorization" header. Works with simple HTTP authentication or digest authentication.

Like authenticate, but with a predicate that the user must satisfy.

Require a logged in user if the authentication level demands it. Run the handler if a user is logged in, otherwise redirect to login page.

Returns Just logged in user or Nothing.

# Combinators to exclude certain actions

unlessNoEdit responder fallback runs responder unless the page has been designated not editable in configuration; in that case, runs fallback.

unlessNoDelete responder fallback runs responder unless the page has been designated not deletable in configuration; in that case, runs fallback.

# Guards for routing

Succeeds if path is an index path: e.g. /foo/bar/.

# Functions to get info from the request

getPath :: ServerMonad m => m String Source #

Returns the current path (subtracting initial commands like /_edit).

Returns the current page name (derived from the path).

Returns the contents of the "referer" header.

Returns the base URL of the wiki in the happstack server. So, if the wiki handlers are behind a dir foo, getWikiBase will return /foo/. getWikiBase doesn't know anything about HTTP proxies, so if you use proxies to map a gitit wiki to /foo/, you'll still need to follow the instructions in README.

Returns path portion of URI, without initial /. Consecutive spaces are collapsed. We don't want to distinguish Hi There and Hi There.

# Combinators that change the request locally

withMessages :: ServerMonad m => [String] -> m a -> m a Source #

Runs a server monad in a local context after setting the "message" request header.

# Miscellaneous

Returns encoded URL path for the page with the given name, relative to the wiki base.

Returns the filestore path of the file containing the page's source.

Retrieves a mime type based on file extension.

Arguments

 :: [(Bool, String)] list of conditions and error messages -> [String] list of error messages

Simple helper for validation of forms.

Returns a filestore object derived from the repository path and filestore type specified in configuration.