úΞAˇ*K      !"#$%&'( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C DEFGHIJKHMatch a regular expression against a string, returning more information  about the match. LJReplaces every occurance of the given regexp with the replacement string. Search pattern  Input string Replacement text Output string MGSplits a string based on a regular expression. The regular expression " should identify one delimiter. #Split a list at a certain element. JSubstitute a regex. Simplified interface. This function performs a global  substitution. Pattern to replace (regex). Replacement string. Input string. Result. Simple regex matching. Input string. Pattern to match. )Type for context manipulating functions. Type for a context. Do something with a value in a Context", but keep the old value as well. < This is probably the most common function to construct a  ContextManipulation. )Key of which the value should be copied. #Key the value should be copied to.  Function to apply on the value. Change a value in a Context.  import Data.Char (toUpper) # changeValue "title" (map toUpper) !Will put the title in UPPERCASE. *Key of which the value should be changed.  Function to apply on the value. "When the context has a key called path in a yyyy-mm-dd-title.extension B format (default for pages), this function can render the date. . renderDate "date" "%B %e, %Y" "Date unknown" Will render something like January 32, 2010. 1Key in which the rendered date should be placed. Format to use on the date. .Default value when the date cannot be parsed. EChange the extension of a file. This is only needed when you want to # render, for example, mardown to .php files instead of .html files. ) renderChainWith (changeExtension "php") , ["templates/default.html"] 2 (createPagePath "test.markdown") Will render to test.php instead of  test.html. Extension to change to.  Our custom monad stack. "Hakyll global configuration type. EAn additional context to use when rendering. This additional context  is used globally. $Directory where the site is placed. Directory for cache files.  Simplified ask& function for the Hakyll monad stack.        NBAuxiliary function to remove pathSeparators form the start. We don't deal B with absolute paths here. We also remove $root from the start. =Convert a relative filepath to a filepath in the destination  (default: _site). 7Convert a relative filepath to a filepath in the cache  (default: _cache). Get the url for a given page. BGet the relative url to the site root, for a given (absolute) url Swaps spaces for O. @Given a path to a file, try to make the path writable by making  all directories on the path. IGet all contents of a directory. Note that files starting with a dot (.)  will be ignored. FA filter that takes all file names with a given extension. Prefix the  extension with a dot: 0 havingExtension ".markdown" [ "index.markdown" + , "style.css" 5 ] == ["index.markdown"] <Perform a Hakyll action on every file in a given directory. 7Check if a file is newer then a number of given files. The cached file. !Dependencies of the cached file.   )We can store all datatypes instantiating Binary to the cache. The cache ! directory is specified by the HakyllConfiguration , usually _cache. LGet a value from the cache. The filepath given should not be located in the K cache. This function performs a timestamp check on the filepath and the M filepath in the cache, and only returns the cached value when it is still  up-to-date. JCheck if a file in the cache is more recent than a number of other files. 5A class for datatypes that can be rendered to pages. (Get a context to do substitutions with. @Get the dependencies for the renderable. This is used for cache  invalidation. (Get the destination for the renderable.      !*Datatype used for template substitutions. PQRS" Construct a Template from a string. #Read a Template, from a file. This function might fetch the Template ! from the cache, if available. $ Substitutes  $identifiers in the given Template by values from the given  Context@. When a key is not found, it is left as it is. You can specify 3 the characters used to replace escaped dollars ($$) here. % substitute? for use during a chain. This will leave escaped characters as  they are. & substitute< for the end of a chain (just before writing). This renders  escaped characters. T2Generate arbitrary templates from a given length. !"#$%&!"#$%&!"#$%&'$Compress CSS to speed up your site. U(Compresses certain forms of separators. VCompresses all whitespace. W(Function that strips CSS comments away. ''' (>Trim a string (drop spaces, tabs and newlines at both sides). )'Strip html tags from the given string. *Make a HTML link. 7 link "foo" "bar.html" == "<a href='bar.html'>foo</a>"  Link text. Link destination. ()*()*()* +AA Page is basically key-value mapping. Certain keys have special 3 meanings, like for example url, body and title. X,(Create a Page from a key-value mapping. -IObtain a value from a page. Will resturn an empty string when nothing is  found. YBGet the URL for a certain page. This should always be defined. If  not, it will error. ZGet the original page path. .DGet the body for a certain page. When not defined, the body will be  empty. [/The default reader options for pandoc parsing. \1The default writer options for pandoc rendering. ]-Get a render function for a given extension. ^Split a page into sections. _3Check if the given string is a metadata delimiter. `Read one section of a page. Render function. 2If this section is the first section in the page. Lines in the section. Key-values extracted. aDRead a page from a file. Metadata is supported, and if the filename  has a  .markdown. extension, it will be rendered using pandoc. /LRead a page. Might fetch it from the cache if available. Otherwise, it will : read it from the file given and store it in the cache. bGenerate an arbitrary page. +,-./+,-./+,-./ 0A pure render function. &Manipulation to apply on the context. Template to use for rendering. 1Renderable object to render with given template. 0The body of the result will contain the render. 1!A pure renderAndConcat function. Manipulation to apply. Templates to use. Different renderables. 2A pure renderChain function. 3@Write a page to the site destination. Final action after render  chains and such. $%&0123$%&01230123 45Execute an IO action only when the cache is invalid.  File to be rendered or created. Files the render depends on. 3IO action to execute when the file is out of date. 5Render to a Page. Template to use for rendering. 1Renderable object to render with given template. 0The body of the result will contain the render. 6ERender to a Page. This function allows you to manipulate the context  first. &Manipulation to apply on the context. Template to use for rendering. 1Renderable object to render with given template. 0The body of the result will contain the render. 7FRender each renderable with the given templates, then concatenate the ( result. So, basically this function:  Takes every renderable. G Renders every renderable with all given templates. This is comparable  with a renderChain action.  Concatenates the result. (Templates to apply on every renderable. Renderables to render. 8FRender each renderable with the given templates, then concatenate the 1 result. This function allows you to specify a ContextManipulation to  apply on every  Renderable. 9GChain a render action for a page with a number of templates. This will L also write the result to the site destination. This is the preferred way  to do general rendering. ' renderChain [ "templates/notice.html" ( , "templates/default.html" / ] $ createPagePath "warning.html" This code will first render  warning.html using  templates/ notice.html, ( and will then render the result with  templates/ default.html. :8A more custom render chain that allows you to specify a  ContextManipulation6 which to apply on the context when it is read first. ;JMark a certain file as static, so it will just be copied when the site is  generated. <#Render a css file, compressing it. 456789:;< 456789:;< 456789:;< =(A combination of two other renderables. cd>HPagePath is a class that wraps a FilePath. This is used to render Pages 6 without reading them first through use of caching. e?A custom page. fghi@Create a custom page. FThe association list given maps keys to values for substitution. Note ( that as value, you can either give a String or a  Hakyll String.  A  Hakyll String5 is preferred for more complex data, since it allows  dependency checking. A String) is obviously more simple to use in some  cases. ,Destination of the page, relative to _site. Dependencies of the page.  Mapping. A#Create a PagePath from a FilePath. BECombine two renderables. The url will always be taken from the first   Renderable . Also, if a `$key`% is present in both renderables, the  value from the first  Renderable will be taken as well. FSince renderables are always more or less key-value maps, you can see  this as a union between two maps. C@Combine two renderables and set a custom URL. This behaves like combine,  except that for the url( field, the given URL is always chosen. =>?@ABC?@>A=BC=>?@ABCD<Read a tag map. This creates a map from tags to page paths. HYou also have to give a unique identifier for every tagmap. This is for 4 caching reasons, so the tagmap will be stored in  _cache_tagmap identifier. "Unique identifier for the tagmap. ERender a tag cloud. Map as produced by  readTagMap. &Function to produce an url for a tag.  Smallest font size, in percent. Biggest font size, in percent. Result of the render. FRender all tags to links. DOn your site, it is nice if you can display the tags on a page, but < naturally, most people would expect these are clickable. JSo, this function takes a function to produce an url for a given tag, and  applies it on all tags. JNote that it is your own responsibility to ensure a page with such an url  exists. &Function to produce an url for a tag. DEFDEFDEFj9Simple representation of the HTTP response we send back. klmnopq)Simple representation of a HTTP request. rstuvCustom monad stack. wGeneral server configuration. xyz{|Function to log from a chan. }Read a HTTP request from a ~(. For now, this will ignore the request  headers and body. A default response. €,Create a response for a given HTTP request.  Create a simple error response.  Error code. Error phrase. Result. ‚Create a simple get response. ƒKGet the mime header for a certain filename. This is based on the extension  of the given „. … Respond to an incoming request. G(Start a simple http server on the given †‡, serving the given  directory. GGGHDefault hakyll configuration. I%Hakyll with a default configuration. J2Main function to run hakyll with a configuration. ˆClean up directories. ‰Show usage information. ŠHIJHIJHIJ‹ !"#$%&'()*+,-./01234567 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R STUVWXYZ[\]^_`abcdefghi ; j k l m n o p q r s t M N O u v wxxyz{|}~~€‚ƒƒ„…†‡ˆ_‰Š‹ŒŽ_‘’“”•“–•—˜™š hakyll-1.2Text.Hakyll.RegexText.Hakyll.ContextText.Hakyll.HakyllText.Hakyll.FileText.Hakyll.Internal.CacheText.Hakyll.RenderableText.Hakyll.Internal.Template Text.Hakyll.Internal.CompressCSSText.Hakyll.UtilText.Hakyll.PageText.Hakyll.Internal.RenderText.Hakyll.RenderText.Hakyll.RenderablesText.Hakyll.TagsNetwork.Hakyll.SimpleServer Text.Hakyll splitRegexsubstituteRegex matchesRegexContextManipulationContext renderValue changeValue renderDatechangeExtensionHakyllHakyllConfigurationadditionalContext siteDirectorycacheDirectory askHakyll toDestinationtoCachetoURLtoRoot removeSpacesmakeDirectoriesgetRecursiveContentshavingExtension directory isMoreRecent storeInCache getFromCacheisCacheMoreRecent Renderable toContextgetDependenciesgetURLTemplate fromString readTemplate substituteregularSubstitutefinalSubstitute compressCSStrim stripHTMLlinkPage fromContextgetValuegetBodyreadPagepureRenderWithpureRenderAndConcatWithpureRenderChainWith writePagedependsrender renderWithrenderAndConcatrenderAndConcatWith renderChainrenderChainWithstaticcssCombinedRenderablePagePath CustomPagecreateCustomPagecreatePagePathcombinecombineWithURL readTagMaprenderTagCloudrenderTagLinks simpleServerdefaultHakyllConfigurationhakyllhakyllWithConfiguration matchRegexAllsubRegex splitRegex'removeLeadingSeparatorbaseGHC.Num-EndEscapeCharacter IdentifierChunkarbitraryTemplatecompressSeparatorscompressWhitespace stripComments getPageURL getPagePath readerOptions writerOptionsgetRenderFunctionsplitAtDelimiters isDelimiter readSectionreadPageFromFile arbitraryPageCombinedRenderableWithURL customPageURLcustomPageDependenciescustomPageContextResponseresponseVersionresponseStatusCoderesponsePhraseresponseHeaders responseBodyRequest requestMethod requestURIrequestVersionServer ServerConfig documentRoot portNumber logChannellog readRequestGHC.IO.Handle.TypesHandledefaultResponsecreateResponsecreateErrorResponsecreateGetResponse getMIMEHeaderGHC.IOFilePathrespondnetwork-2.2.1.7Network PortNumberNetwork.Socket.Internalcleanhelpserver