˹!      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~       !"#$%&'()*!&'()*!&'()* +,-./0123Get the last N days history. 456789+,-./0+,-./,-./0 :;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./ 0123456789:;<=>?@ABCDEF:;<=>:;<=> State for a single wiki.  !"#$%&'()*+,-./0123456789:;<=>?@=Abstract representation of page layout (tabs, scripts, etc.) ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdef4Common state for all gitit wikis in an application. ghijklmnopqrstuvwxyz{|} Data for rendering a wiki page. ~6Data structure for information read from config file. (Path of repository containing filestore Type of repository 'Default page markup type for this wiki #How to handle LaTeX math in pages? &Treat as literate haskell by default? #Show Haskell code with bird tracks Combinator to set  REMOTE_USER request header *Handler for login, logout, register, etc. Path of users database -Seconds of inactivity before session expires $Directory containing page templates Path of server log file /Severity filter for log messages (DEBUG, INFO, 5 NOTICE, WARNING, ERROR, CRITICAL, ALERT, EMERGENCY) Path of static directory  Names of plugin modules to load %Show table of contents on each page? Max size of file uploads Max size of page uploads  Port number to serve content on !Print debug info to the console? The front page of the wiki $Pages that cannot be edited via web %Pages that cannot be deleted via web *Default summary if description left blank Nothing = anyone can register.  Just (prompt, answers) = a user will # be given the prompt and must give ! one of the answers to register. %Use ReCAPTCHA for user registration.  Should responses be compressed? Should responses be cached? Directory to hold cached pages 0Map associating mime types with file extensions $Command to send notification emails Text of password reset email $Markup syntax help for edit sidebar Provide an atom feed? "Base URL of wiki, for use in feed Title of wiki, used in feed .Number of days history to be included in feed 3Number of minutes to cache feeds before refreshing Allow PDF export? .Directory to search for pandoc customizations  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~}~|yz{vwxrstumnopqfghijkleadcb[\]^_`ZQRSTUVWXYNOP@ABCDEFGHIJKLM:?>=<;6789 !"#$%&'()*+,-./012345   !"#$%&'()*+,-./012345 !"#$%&'()*+,-./0123456789789:?>=<;;<=>?@ ABCDEFGHIJKLMABCDEFGHIJKLMNOPOPQRSTUVWXYRSTUVWXYZ[\]^_`\]^_`adcbbcdefghijklghijklmnopqnopqrstustuvwxwxyz{z{|} ~~+ G6Read file as UTF-8 string. Encode filename as UTF-8. H@Perform a function a directory and return to working directory. :Perform a function in a temporary directory and clean up. I1Create a temporary directory with a unique name. J:Returns a list, if it is not null, or a backup, if it is. K0Split a string containing a list of categories. L"Trim leading and trailing spaces. M Show Bool as yes or no. NGHJKLMNGHJKLMN OPQRSTUVWXYZ[\]^_`OPQRSTUVWXYZ[\]^_`OPQRSTUVWXYZ[\]^_`";Run the handler if a user is logged in, otherwise redirect  to login page. ARun the handler if a user satisfying the predicate is logged in. B Redirect to login if nobody logged in; raise error if someone is  logged in but doesn't satisfy the predicate. Run the handler after setting  REMOTE_USER with the user from  the session. Run the handler after setting  REMOTE_USER from the  authorization J header. Works with simple HTTP authentication or digest authentication. Returns Just logged in user or Nothing. abcunlessNoEdit responder fallback runs  responder unless the A page has been designated not editable in configuration; in that  case, runs fallback. !unlessNoDelete responder fallback runs  responder unless the B page has been designated not deletable in configuration; in that  case, runs fallback. <Returns the current path (subtracting initial commands like /_edit). 7Returns 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 7 proxies, so if you use proxies to map a gitit wiki to /foo/,  you'4ll still need to follow the instructions in README. dThe pure core of . ef-Returns path portion of URI, without initial /. * Consecutive spaces are collapsed. We don't want to distinguish  Hi There and  Hi There. GReturns 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. 'Simple helper for validation of forms. &list of conditions and error messages list of error messages )Succeeds if path is an index path: e.g. /foo/bar/. 5Runs a server monad in a local context after setting  the messages request header. 5Runs a server monad in a local context after setting  request header. ,Returns a filestore object derived from the @ repository path and filestore type specified in configuration. ghijk?Read a string (the contents of a page file) and produce a Page < object, using defaults except when overridden by metadata. lm>Write a string (the contents of a page file) corresponding to : a Page object, using explicit metadata only when needed. nkmnkmnoCExpire a cached file, identified by its filename in the filestore. 8 If there is an associated exported PDF, expire it too. K Returns () after deleting a file from the cache, fails if no cached file. pqroqroqrstuvwxyz{|}~4Run shell command and return error status. Assumes ; UTF-8 locale. Note that this does not actually go through /bin/sh! Working directory  Environment Command  Arguments NWhen we create a PDF or ODT from a Gitit page, we need to fix the URLs of any Q images on the page. Those URLs will often be relative to the staticDir, but the P PDF or ODT processor only understands paths relative to the working directory. TBecause the working directory will not in general be the root of the gitit instance T at the time the Pandoc is fed to e.g. pdflatex, this function replaces the URLs of @ images in the staticDir with their correct absolute file path. Returns formatted page ;Given a compiled string template, returns a page renderer. 8Returns a page template with gitit variables filled in. 3 Converts a ContentTransformer into a GititServerPart;  specialized to wiki pages.  Converts a ContentTransformer into a GititServerPart;  specialized to non-pages. Responds with raw page source. 7Responds with raw source (for non-pages such as source  code files). "Responds with rendered wiki page. 2Responds with page exported into selected format. 'Responds with highlighted source code. +Responds with non-highlighted source code. 4Responds with rendered page derived from form data. 8Applies pre-commit plugins to raw page source, possibly  modifying it. Responds with raw source. 2Responds with a wiki page in the format specified  by the format parameter. /Responds with a wiki page. Uses the cache when 9 possible and caches the rendered page when appropriate. 0Responds with highlighted source code in a wiki 2 page template. Uses the cache when possible and , caches the rendered page when appropriate. =Caches a response (actually just the response body) on disk, ? unless the context indicates that the page is not cacheable. 3Returns cached page if available, otherwise mzero. Returns raw file contents. Converts raw contents to a text/plain response. =Converts raw contents to a response that is appropriate with " a mime type derived from the page' s extension. Raw contents for response body  Mime type CConverts Pandoc to response using format specified in parameters. AAdds the sidebar, page tabs, and other elements of the wiki page  layout to the raw content. @Converts Page to Pandoc, applies page transforms, and adds page  title. 8Converts source text to Pandoc using default page type. /Converts contents of page file to Page object. "Converts pandoc document to HTML. !Returns highlighted source code. applyTransform a t applies the transform t to input a. =Applies all the page transform plugins to a Pandoc document. >Applies all the pre-parse transform plugins to a Page object. >Applies all the pre-commit transform plugins to a raw string. 7Puts rendered page content into a wikipage div, adding  categories. &Adds page title to a Pandoc document. (Adds javascript links for math support. !Adds javascripts to page layout. GUpdates the layout with the result of applying f to the current layout (Convert links with no URL to wikilinks.  5Derives a URL from a list of Pandoc Inline elements.  )Convert a list of inlines into a string. "  "  "  GReturns username of logged in user or null string if nobody logged in.      $Get configuration from config file. 5A version of readfile that treats the file as UTF-8.  )Returns the default gitit configuration. ARead a file associating mime types with extensions, and return a C map from extensions to types. Each line of the file consists of a B mime type, followed by space, followed by a list of zero or more / extensions, separated by spaces. Example: text/plain txt text       Initialize Gitit State. Recompile the page template.  Create templates dir if it doesn' t exist. )Create page repository unless it exists. *Create static directory unless it exists. (Returns the current wiki configuration. Returns Just the logged in user, or Nothing if nobody is logged in. #Returns the complete HTTP request. Returns the wiki filestore. Returns the page meta data =Indicates that the current page or file is not to be cached. Lifts a function from a -> a (for example, Inline -> Inline,  Block -> Block, [Inline] -> [Inline], or String -> String)  to a d plugin. Monadic version of .  Lifts a function from a -> m a to a d plugin.        !"#$%&@ABCDEFGHIJKLMOPQRSTUVWXYZabcdmnopq  ladcbZ mnopqQRSTUVWXY@ABCDEFGHIJKLMOP  $Happstack handler for a gitit wiki. 'Like G,, but if file is not found, fail instead of  returning a 404 error. ( Recompiles the gitit templates.  ?Converts a gitit Handler into a standard happstack ServerPart. )  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~         * !"##$%&&'())**+,-./0123456789:;<=>?@ABCDEFGHIJJKLMNOPQRSSTUVWXYZ[\]^_`abccdefghijkllmnopqrstuvvwxyz{||}~       !"#$%&'() * + , - . / 0 1 2 3 4 4 5 6 7 8 9 : ; < = > ? @ A B C D E FGHIJIKILMNMOMPMQMRMSMTMUMVMWMXMYMZM[M\M]M^M_M`MaMbMcMdMeMfMghihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzh{h|h}h~hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh?hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh      !"##$%&&'()**+,-./012345167898:8;8<8=8>8?8@8A8B8C8D8E8F8G8GHIHJHKHLHL M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e fghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0 gitit-0.7.3.8Network.Gitit.InterfaceNetwork.Gitit.Types Network.GititNetwork.Gitit.FrameworkNetwork.Gitit.Layout Network.Gitit.ContentTransformerNetwork.Gitit.ConfigNetwork.Gitit.Initialize Paths_gititNetwork.Gitit.FeedNetwork.Gitit.ServerNetwork.Gitit.UtilNetwork.Gitit.StateNetwork.Gitit.PageNetwork.Gitit.CacheNetwork.Gitit.ExportNetwork.Gitit.HandlersNetwork.Gitit.AuthenticationNetwork.Gitit.Pluginstransformers-0.2.2.0Control.Monad.IO.ClassliftIOhappstack-server-0.5.0.3Happstack.Server.HTTP.TypesrqPeerrqBody rqHeaders rqVersion rqCookiesrqInputsrqQueryrqUrirqPathsrqMethodRequestHandlerGititServerPart WikiState wikiConfig wikiFileStoreCommandParams pUsername pPassword pPassword2 pRevision pDestinationpForUserpSincepRawpLimit pPatterns pGotoPage pFileToDelete pEditedText pMessagespFrompTopFormatpSHA1pLogMsgpEmail pFullName pAccessCode pWikiname pPrintable pOverwrite pFilename pFileContentspConfirm pSessionKey pRecaptcha pResetCode RecaptcharecaptchaChallengeFieldrecaptchaResponseFieldTabDiffTab DiscussTab HistoryTabEditTabViewTab PageLayout pgPageName pgRevision pgPrintable pgMessagespgTitle pgScriptspgShowPageTools pgShowSiteNav pgMarkupHelppgTabs pgSelectedTab pgLinkToFeed HasContext getContext modifyContextContextctxFile ctxLayout ctxCacheablectxTOC ctxBirdTracks ctxCategoriesctxMetaPluginM PluginData pluginConfig pluginUser pluginRequestpluginFileStorePluginPreCommitTransformPreParseTransform PageTransformContentTransformer GititStatesessionsusers templatesPath renderPagepluginsUser uUsername uPassworduEmailPasswordpSaltpHashedSessions unsession SessionData sessionUser SessionKeyPagepageName pageFormatpageLHSpageTOC pageTitlepageCategoriespageTextpageMetaConfigrepositoryPathrepositoryTypedefaultPageType mathMethod defaultLHSshowLHSBirdTrackswithUser authHandleruserFilesessionTimeout templatesDirlogFilelogLevel staticDir pluginModulestableOfContents maxUploadSize maxPageSize portNumber debugMode frontPagenoEditnoDeletedefaultSummaryaccessQuestion useRecaptcharecaptchaPublicKeyrecaptchaPrivateKeycompressResponsesuseCachecacheDirmimeMap mailCommandresetPasswordMessage markupHelpuseFeedbaseUrl wikiTitlefeedDaysfeedRefreshTime pdfExportpandocUserData MathMethodRawTeXWebTeX JsMathScriptMathML FileStoreType MercurialDarcsGitPageTypeHTMLLaTeXRSTMarkdown runPluginM withTempDirupdateGititStatequeryGititStategetUser getConfig getFileStore requireUserrequireUserThatwithUserFromSessionwithUserFromHTTPAuthgetLoggedInUser unlessNoEditunlessNoDeletegetPathgetPage getReferer getWikiBaseuriPathisPage isPageFile isDiscussPageisDiscussPageFile isSourceCode urlForPage pathForPagegetMimeTypeForExtensionvalidate guardCommand guardPath guardIndex guardBareBase withMessages withInputfilestoreFromConfigdefaultPageLayout formattedPagedefaultRenderPagefilledPageTemplateuploadsAllowedrunPageTransformerrunFileTransformer showRawPageshowFileAsTextshowPage exportPageshowHighlightedSourceshowFilepreviewapplyPreCommitPlugins cacheHtml cachedHtml rawContents textResponsemimeFileResponse mimeResponse exportPandocapplyWikiTemplatepageToWikiPandoc pageToPandoc pandocToHtmlhighlightSourceapplyPageTransforms wikiDivifyaddPageTitleToPandocaddMathSupport addScripts getParams getFileName getPageName getLayout getCacheable inlinesToURLinlinesToString loginUserFormgetConfigFromFilegetDefaultConfigreadMimeTypesFileinitializeGititStaterecompilePageTemplatecompilePageTemplatecreateTemplateIfMissingcreateRepoIfMissingcreateDefaultPagescreateStaticIfMissing askConfigaskUser askRequest askFileStoreaskMeta doNotCachemkPageTransformmkPageTransformMwikireloadTemplates runHandlerversionbindirlibdirdatadir libexecdir getBinDir getLibDir getDataDir getLibexecDirgetDataFileName FeedConfigfcTitle fcBaseUrl fcFeedDaysfilestoreToXmlFeedxmlFeedToString generateFeed changeLoggenerateEmptyfeedrevisionToEntryauthorToPersonescapeformatFeedTimeextractwithExpiresHeaderssetContentType setFilename lookupIPAddrgetHostHappstack.Server.PartscompressedResponseFilterHappstack.Server.StdConfigerrWrap loglocationbinarylocationHappstack.Server.HTTP.FileServedoIndex' doIndexStrict doIndexLazydoIndexfileServeStrict fileServeLazy fileServe fileServe' serveFileserveFileUsingfilePathStrict filePathLazyfilePathSendFilestrictByteStringResponselazyByteStringResponsesendFileResponseisDot blockDotFiles fileNotFounddefaultIxFiles asContentTypeguessContentTypeMguessContentType mimeTypes errorwrapperMimeMapHappstack.Server.SimpleHTTPlazyProcValidator noopValidatorwdgHTMLValidator runValidator validateConfsetValidatorSP setValidatorspUnwrapErrorTsimpleErrorHandlererrorHandlerSP lookPairslookReadreadCookieValuelookCookieValue lookCookielooklookBS lookInput basicAuth applyRequest anyRequest debugFiltermulti tempRedirectmovedPermanentlyfoundseeOthernotFound forbidden unauthorized badRequest badGatewayinternalServerErrorokrespsetResponseCodemodifyResponseifModifiedSince expireCookie addCookies addCookiedoXsltxsltrequireMrequire rproxyServe proxyServe withDataFnwithDatagetData getDataFn trailingSlashanyPath'anyPathuriRestpathwithHosthostdirsdirnullDirmethodmethodSP methodOnlymethodMguardRq setHeaderM addHeaderM getHeaderM localContextflatten toResponseBSbindPortsimpleHTTPWithSocket'simpleHTTPWithSocket simpleHTTP'' simpleHTTP' simpleHTTP parseConfigescape' ignoreFiltersmapWebTmkWebTununWebTrunWebTnoHandlemapServerPartT'mapServerPartT withRequestrunServerPartTWeb ServerPart unServerPartT ServerPartTlocalRqaskRq ServerMonadSetAppend SetAppend FilterFun unFilterTFilterT getFilter composeFilter setFilter FilterMonadunWebTWebTUnWebT finishWithWebMonad fromReqURI FromReqURIRqDatafromDataFromData toResponse toMessage toContentType ToMessageHappstack.Server.XSLTsaxonxsltprocxsltFile xsltString xsltFPSIOxsltFPS procFPSIO procLBSIOxsltElemXSLTCmd XSLTCommandXSLPathHappstack.Server.HTTP.Client unrproxify unproxify getResponseHappstack.Server.MessageWrappathElsdefaultInputType simpleInputbodyPartToInputmultipartDecode decodeBody formDecode bodyInput queryInput readString ReadStringredirectresultBSresultaddHeaderUnsafe addHeaderBS addHeadersetHeaderUnsafe setHeaderBS setHeaderhasHeaderUnsafe hasHeaderBS hasHeadergetHeaderUnsafe getHeaderBS getHeader mkHeaders setRsCoderqURLnoContentLength nullRsFlagsnullConf continueHTTP validatorportConfGETHEADPOSTPUTDELETETRACEOPTIONSCONNECTMethodhValuehName HeaderPairHeadersrsfContentLengthRsFlagsinputContentType inputFilename inputValueInputHost rsValidatorrsBodyrsFlags rsHeadersrsCodeResponsesfCountsfOffset sfFilePathSendFileBodyRqBodyHappstack.Server.Cookie getCookie' getCookies' getCookie getCookies cookiesParser parseCookiesmkCookieHeadermkCookiesecure cookieValue cookieName cookieDomain cookiePath cookieVersionCookie#Happstack.Server.HTTP.RFC822Headers ctParameters ctSubtypectType ContentType readFileUTF8inDir createTempDirorIfNullsplitCategoriestrimyesOrNo parsePageType gititstate debugMessagemkUsergenSalt hashPasswordauthUserisUseraddUser adjustUserdelUser writeUserFile isSession setSession newSession delSession getSessiongetDefaultPageType getDefaultLHSpAuthorizationHeader pDigestHeader pBasicHeadercalculateWikiBasestartsWithUnderscoresplitOn parseMetadatapMetadataBlock pBlankline pMetadataLine stringToPage adjustPage pageToStringextractCategoriesexpireCachedFileexpireCachedPDF lookupCache cacheContentsdefaultRespOptionsrespondrespondXrespondS respondLaTeXrespondConTeXt respondRTF respondRSTrespondMarkdown respondPlain respondMan respondS5 respondSlidyrespondTexinforespondDocbookrespondMediaWiki respondODT respondEPUBrunShellCommand respondPDFfixURLs exportFormats exportBox linkForTabrunTransformerrawTextResponseexportViaPandoc htmlViaPandochighlightRawSourcepageToWikiPandoc'contentsToPagegetPageTransformsgetPreParseTransformsgetPreCommitTransformsapplyTransformapplyPreParseTransformsapplyPreCommitTransforms updateLayout readerForwikiLinksTransformconvertWikiLinks handleAny debugHandler randomPage discussPage createPage uploadForm uploadFilegoToPage searchResultsshowPageHistoryshowFileHistory showHistory showActivity showPageDiff showFileDiffshowDiffgetDiffeditPage confirmDelete deletePage updatePage indexPagefileListToHtml categoryPagecategoryListPage currentUser expireCache feedHandlerValidationType ResetPasswordRegister registerUserresetPasswordRequestFormresetPasswordRequest resetLinksendReregisterEmail validateReset resetPassworddoResetPassword registerFormresetPasswordForm sharedFormsharedValidation loginForm loginUserencUrl logoutUserregisterUserFormformAuthHandlers loginUserHTTPlogoutUserHTTPhttpAuthHandlers forceEitherreadfile extractConfigfromQuotedMultiline readNumberreadSizesplitCommaListlrStripgetDefaultConfigParser loadPlugin loadPluginscreateIfMissing pandoc-1.6Text.Pandoc.Definition queryPandoc processPandoc queryWith processWithM processWithPandocdocDate docAuthorsdocTitleMeta AlignLeft AlignRight AlignCenter AlignDefault AlignmentListAttributes DefaultStyleExampleDecimal LowerRoman UpperRoman LowerAlpha UpperAlphaListNumberStyle DefaultDelimPeriodOneParen TwoParensListNumberDelimAttrPlainPara CodeBlockRawHtml BlockQuote OrderedList BulletListDefinitionListHeaderHorizontalRuleTableNullBlock SingleQuote DoubleQuote QuoteTypeTarget DisplayMath InlineMathMathTypeStrEmphStrong Strikeout Superscript Subscript SmallCapsQuotedCiteCodeSpaceEmDashEnDash ApostropheEllipses LineBreakMathTeX HtmlInlineLinkImageNoteInlinefileServeStrict' wikiHandlers unpackReaderT