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

Safe HaskellNone
LanguageHaskell98

Network.Gitit.ContentTransformer

Contents

Synopsis

ContentTransformer runners

Gitit responders

showRawPage :: Handler Source #

Converts a ContentTransformer into a GititServerPart; specialized to wiki pages. runPageTransformer :: ToMessage a => ContentTransformer a -> GititServerPart a runPageTransformer = runTransformer pathForPage

Converts a ContentTransformer into a GititServerPart; specialized to non-pages. runFileTransformer :: ToMessage a => ContentTransformer a -> GititServerPart a runFileTransformer = runTransformer id

Responds with raw page source.

showFileAsText :: Handler Source #

Responds with raw source (for non-pages such as source code files).

showPage :: Handler Source #

Responds with rendered wiki page.

exportPage :: Handler Source #

Responds with page exported into selected format.

showHighlightedSource :: Handler Source #

Responds with highlighted source code.

showFile :: Handler Source #

Responds with non-highlighted source code.

preview :: Handler Source #

Responds with rendered page derived from form data.

applyPreCommitPlugins :: String -> GititServerPart String Source #

Applies pre-commit plugins to raw page source, possibly modifying it.

Cache support for transformers

cacheHtml :: Response -> ContentTransformer Response Source #

Caches a response (actually just the response body) on disk, unless the context indicates that the page is not cacheable.

cachedHtml :: ContentTransformer Response Source #

Returns cached page if available, otherwise mzero.

Content retrieval combinators

rawContents :: ContentTransformer (Maybe String) Source #

Returns raw file contents.

Response-generating combinators

textResponse :: Maybe String -> ContentTransformer Response Source #

Converts raw contents to a text/plain response.

mimeFileResponse :: Maybe String -> ContentTransformer Response Source #

Converts raw contents to a response that is appropriate with a mime type derived from the page's extension.

mimeResponse Source #

Arguments

:: Monad m 
=> String

Raw contents for response body

-> String

Mime type

-> m Response 

exportPandoc :: Pandoc -> ContentTransformer Response Source #

Converts Pandoc to response using format specified in parameters.

applyWikiTemplate :: Html -> ContentTransformer Response Source #

Adds the sidebar, page tabs, and other elements of the wiki page layout to the raw content.

Content-type transformation combinators

pageToWikiPandoc :: Page -> ContentTransformer Pandoc Source #

Converts Page to Pandoc, applies page transforms, and adds page title.

pageToPandoc :: Page -> ContentTransformer Pandoc Source #

Converts source text to Pandoc using default page type.

pandocToHtml :: Pandoc -> ContentTransformer Html Source #

Converts pandoc document to HTML.

highlightSource :: Maybe String -> ContentTransformer Html Source #

Returns highlighted source code.

Content or context augmentation combinators

applyPageTransforms :: Pandoc -> ContentTransformer Pandoc Source #

Applies all the page transform plugins to a Pandoc document.

wikiDivify :: Html -> ContentTransformer Html Source #

Puts rendered page content into a wikipage div, adding categories.

addPageTitleToPandoc :: String -> Pandoc -> ContentTransformer Pandoc Source #

Adds page title to a Pandoc document.

addMathSupport :: a -> ContentTransformer a Source #

Adds javascript links for math support.

addScripts :: PageLayout -> [String] -> PageLayout Source #

Adds javascripts to page layout.

ContentTransformer context API

Pandoc and wiki content conversion support

inlinesToURL :: [Inline] -> String Source #

Derives a URL from a list of Pandoc Inline elements.

inlinesToString :: [Inline] -> String Source #

Convert a list of inlines into a string.