úÎ_án      !"#$%&'()*+,-./0123456789:;<=>?@ABCD E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a bcdefghijklmnElements of a template. opqr*Datatype used for template substitutions. stnopqrstnqpoopqrstst uvwxyz{|}~uz{|}~uz{|}~ EDatatype to represent the different file types Hakyll can deal with. €‚ƒ„…†‡KGet the file type for a certain file. The type is determined by extension. ˆCheck if a certain FileType is renderable. ‰'Check if a certain file is renderable. €‚ƒ„…†‡ˆ‰ †…„ƒ‚€€‚ƒ„…†‡ˆ‰&Datatype used for key-value mappings. Extract the context. "Hakyll global configuration type. Absolute URL of the site. EAn additional context to use when rendering. This additional context  is used globally. $Directory where the site is placed. Directory for cache files. Enable index links. The preview mode used Pandoc parsing options Pandoc writer options 2Hamlet settings (if you use hamlet for templates) Preview mode. Our custom monad stack.  Simplified ask& function for the Hakyll monad stack. )Usage would typically be something like: # doSomething :: a -> b -> Hakyll c  doSomething arg1 arg2 = do / siteDirectory' <- askHakyll siteDirectory  ... 3Obtain the globally available, additional context. Write some log information. DPerform a concurrent hakyll action. Returns an MVar you can wait on LPerform a number of concurrent hakyll actions, and waits for them to finish      ŠBAuxiliary 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). JGet the url for a given page. For most extensions, this would be the path  itself. It' s only for rendered extensions ( .markdown, .rst, .lhs this " function returns a path with a .html extension instead. BGet the relative url to the site root, for a given (absolute) url )Check if a file is in a given directory.  File path  Directory Result KCheck if a file is in a Hakyll directory. With a Hakyll directory, we mean  a directory that should be ignored such as the _site or _cache  directory.  Example:  - inHakyllDirectory "_cache/pages/index.html" Result:  True Swaps spaces for ‹. @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. *Sort a list of filenames on the basename. !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. #<Check if a timestamp is newer then a number of given files. The time to check. !Dependencies of the cached file. $7Check if a file is newer then a number of given files. The cached file. !Dependencies of the cached file.  !"#$ !"#$ !"#$ %DType used for rendering computations that carry along dependencies. &'Dependencies of the  HakyllAction. (#URL pointing to the result of this  HakyllAction. )The actual render function. * Create a  HakyllAction from a function. Function to execute. + Create a  HakyllAction from a simple Hakyll value. Hakyll value to pass on. , Create a  HakyllAction that operates on one file. File to operate on. Value to pass on. The resulting action. -Run a  HakyllAction now. Render action to run. Result of the action. .Run a  HakyllAction6, but only when it is out-of-date. At this point, the   actionUrl field must be set. Action to run. Empty result. /Chain a number of  HakyllAction computations. Actions to chain. Resulting action. %&'()*+,-./ %&'()*+,/-. %&'()&'()*+,-./Œ)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. Cache an entire arrow ŒŽŒŽ7Determine if a file is a hamlet template by extension. ‘Read a ’“ by file name. Filename of the template Resulting hamlet template ” Convert a ’“ to a sr Hamlet runtime template Hakyll template ‘”‘”•HMatch a regular expression against a string, returning more information  about the match. –JReplaces every occurance of the given regexp with the replacement string. Search pattern  Input string Replacement text Output string —GSplits a string based on a regular expression. The regular expression " should identify one delimiter. 0#Split a list at a certain element. 1JSubstitute a regex. Simplified interface. This function performs a global  substitution. Pattern to replace (regex). Replacement string. Input string. Result. 2Simple regex matching. Input string. Pattern to match. 012012012 3Do something with a value in a Context", but keep the old value as well. * If the key given is not present in the Context, nothing will happen. )Key of which the value should be copied. #Key the value should be copied to.  Function to apply on the value. 4Change a value in a Context.   import Data.Char (toUpper) # changeValue "title" (map toUpper) !Will put the title in UPPERCASE. Key to change.  Function to apply on the value. 5JChange the URL of a page. This requires a special function, so dependency  handling can happen correctly. Function to change URL with. Resulting action. 6*Copy a value from one key to another in a Context.  Source key. Destination key. 7"When the context has a key called path in a  folder/yyyy-mm-dd-title.extension$ format (the convention 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. 0Default key, in case the date cannot be parsed. 8This is an extended version of 7 that allows you to specify a I time locale that is used for outputting the date. For more details, see  7. Output time locale. Destination key. Format to use on the date.  Default key. 9EChange the extension of a file. This is only needed when you want to # render, for example, mardown to .php files instead of .html files.   changeExtension "php"  Will render  test.markdown to test.php instead of  test.html. Extension to change to. :8Change the body of a file using a certain manipulation.   import Data.Char (toUpper)  renderBody (map toUpper) 3Will put the entire body of the page in UPPERCASE. ;+Get the resulting body text from a context 3456789:; 3456789:; 3456789:;˜$Compress CSS to speed up your site. ™(Compresses certain forms of separators. šCompresses all whitespace. ›(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. <=><=><=>?FA page is first parsed into a number of page sections. A page section  consists of:  A key  A value  A œ; flag, indicating if the value is applicable for rendering @ASplit a page into sections. ž3Check if the given string is a metadata delimiter. ŸRead one section of a page. 2If this section is the first section in the page. Lines in the section. Key-values extracted. B0Read a page from a file. Metadata is supported. C0Read a page from a file. Metadata is supported. ?@ABC?@ABC?@A@ABC  -Get a render function for a given extension. DKAn action that renders the list of page sections to a context using pandoc ECAn action to render pages, offering just a little more flexibility DEDEDE¡ 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. rst¡¢£¤¥¡¢£¤¥ ¦*A pure render function - used internally. Template to use for rendering. 1Renderable object to render with given template. 0The body of the result will contain the render. F4This is the most simple render action. You render a Context with a & template, and get back the result. Template to use for rendering. The render computation. G Render each Context0 with the given templates, then concatenate the ( result. So, basically this function:  Takes every Context.  Renders every Context. with all given templates. This is comparable  with a renderChain action. / Concatenates the result and returns that as a String. HGChain 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. IJMark a certain file as static, so it will just be copied when the site is  generated. J#Render a css file, compressing it. K@Write a page to the site destination. Final action after render  chains and such. FGHIJKFGHIJKFGHIJK L Create a Context7 from a page file stored on the disk. This is probably # the most common way to create a Context. MCreate a custom page Context. FThe association list given maps keys to values for substitution. Note ( that as value, you can either give a String or a  HakyllAction () String1. The latter is preferred for more complex data, * since it allows dependency checking. A String is obviously more simple  to use in some cases. NA createCustomPage, function specialized in creating listings. 5This function creates a listing of a certain list of Context s. Every G item in the list is created by applying the given template to every M renderable. You can also specify additional context to be included in the   CustomPage. Destination of the page.  Templates to render items with. Renderables in the list. OAdd a field to a . Key Value Result P Combine two Context/s. The url will always be taken from the first   Renderable . Also, if a `$key`% is present in both renderables, the  value from the first Context will be taken as well.  You can see this as a this as a union between two mappings. Q Combine two Context*s and set a custom URL. This behaves like combine,  except that for the url( field, the given URL is always chosen. LMNOPQLMNOPQLMNOPQ R"A configuration for a pagination. ST)Label for the link to the previous page. U%Label for the link to the next page. V&Label for the link to the first page. W%Label for the link to the last page. X/A simple default configuration for pagination. YHThe most important function for pagination. This function operates on a  list of Context6s (the pages), and basically just adds fields to them ) by combining them with a custom page. -The following metadata fields will be added:   $previous: A link to the previous page.  $next: A link to the next page.  $first: A link to the first page.  $last: A link to the last page.  $index%: 1-based index of the current page.  $length: Total number of pages. When  $previous or $next. are not available, they will be just a label O without a link. The same goes for when we are on the first or last page for  $first and $last. RSTUVWXYRSTUVWXYRSTUVWSTUVWXY Z>This is a data structure to keep the configuration of a feed. [\6Url of the feed (relative to site root). For example, rss.xml. ]Title of the feed. ^Description of the feed. _Name of the feed author. §LThis is an auxiliary function to create a listing that is, in fact, a feed. ' The items should be sorted on date. Feed configuration. Items to include. Feed template. Item template. ¨&Abstract function to render any feed. Feed configuration. Items to include in the feed. Feed template. Item template. `+Render an RSS feed with a number of items. Feed configuration. Items to include in the feed. a,Render an Atom feed with a number of items. Feed configuration. Items to include in the feed. Z[\]^_`aZ[\]^_`aZ[\]^_[\]^_`ab7A simple configuration for an entirely static website. bbbcType for a tag map. FThis is a map associating tags or categories to the appropriate pages N using that tag or category. In the case of categories, each path will only ? appear under one category - this is not the case with tags. ©HRead a tag map. This is a internally used function that can be used for # tags as well as for categories. %Function to get tags from a context. "Unique identifier for the tagmap. dRead a TagMap , using the tags metadata field. Unique identifier for the map. Paths to get tags from. eRead a TagMap4, using the subdirectories the pages are placed in. Unique identifier for the map. Paths to get tags from. f Perform a Hakyll! action on every item in the tag gRender a tag cloud. &Function to produce an url for a tag.  Smallest font size, in percent. Biggest font size, in percent. hRender 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. cdefghcdefghcdefghª9Simple representation of the HTTP response we send back. «¬­®¯°±)Simple representation of a HTTP request. ²³´µ¶Custom monad stack. ·General server configuration. ¸¹º»¼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. i(Start a simple http server on the given ÆÇ, serving the given  directory. Port to listen on. Root directory to serve. Optional pre-respond action. iii È/The default reader options for pandoc parsing. É1The default writer options for pandoc rendering. j"The default hakyll configuration. Absolute site URL. Default config. k@Main function to run Hakyll with the default configuration. The F absolute URL is only used in certain cases, for example RSS feeds et  cetera. 2Absolute URL of your site. Used in certain cases.  You code. l9Main function to run hakyll with a custom configuration. Ê8A preview thread that periodically recompiles the site. Build function Result ËClean up directories. ÌShow usage information. Í)Start a server at the given port number. Port number to serve on. Pre-respond action. mKRun a Hakyll action with default settings. This is mostly aimed at testing  code. m  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghjklmjklmjklmÎ !"#$%&'()*+,-./0123456789:;<<=>?@ABCDEFGHIJKLMNOPQRSTUUVWX Y Z [ \ ] ^ _ ` a b c d e f g g h i j k l m n n o p q r s tuvwxyz{|}~€‚ƒ„……†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨¦§¨©ª«¬­®¯°±²³´µ¶ ·¸¹º»¼ ½ ¾ ¿ÀÁÁÂÃÄÅÆÇÇÈÉÊËÌÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞÜßÞàáâãäåæ hakyll-2.4Text.Hakyll.ContextText.Hakyll.HakyllMonadText.Hakyll.FileText.Hakyll.HakyllActionText.Hakyll.Regex Text.Hakyll.ContextManipulationsText.Hakyll.UtilText.Hakyll.PageText.Hakyll.PandocText.Hakyll.RenderText.Hakyll.CreateContextText.Hakyll.PaginateText.Hakyll.Feed!Text.Hakyll.Configurations.StaticText.Hakyll.TagsNetwork.Hakyll.SimpleServer Text.Hakyll&Text.Hakyll.Internal.Template.Template Paths_hakyllText.Hakyll.Internal.FileTypeText.Hakyll.Internal.Cache$Text.Hakyll.Internal.Template.Hamlet Text.Hakyll.Internal.CompressCssText.Hakyll.Internal.TemplateContext unContextHakyllConfiguration absoluteUrladditionalContext siteDirectorycacheDirectoryenableIndexUrl previewModepandocParserStatepandocWriterOptionshamletSettings PreviewModeBuildOnIntervalBuildOnRequestHakyll askHakyllgetAdditionalContext logHakyllforkHakyllWaitconcurrentHakyll toDestinationtoCachetoUrltoRoot inDirectoryinHakyllDirectory removeSpacesmakeDirectoriesgetRecursiveContentssortByBaseNamehavingExtension directory isMoreRecentisFileMoreRecent HakyllActionactionDependencies actionUrlactionFunctioncreateHakyllActioncreateSimpleHakyllActioncreateFileHakyllActionrunHakyllActionrunHakyllActionIfNeededchain splitRegexsubstituteRegex matchesRegex renderValue changeValue changeUrl copyValue renderDaterenderDateWithLocalechangeExtension renderBodytakeBodytrim stripHtmllink PageSection unPageSectionreadPagereadPageAction renderActionrenderActionWithrenderrenderAndConcat renderChainstaticcss writePage createPagecreateCustomPage createListingaddFieldcombinecombineWithUrlPaginateConfiguration previousLabel nextLabel firstLabel lastLabeldefaultPaginateConfigurationpaginateFeedConfigurationfeedUrl feedTitlefeedDescriptionfeedAuthorName renderRss renderAtomstaticConfigurationTagMap readTagMapreadCategoryMap withTagMaprenderTagCloudrenderTagLinks simpleServerdefaultHakyllConfigurationhakyllhakyllWithConfigurationrunDefaultHakyllTemplateElementEscapeCharacter IdentifierChunkTemplate unTemplateversionbindirlibdirdatadir libexecdir getBinDir getLibDir getDataDir getLibexecDirgetDataFileNameFileTypeUnknownFileTypeTextReStructuredTextMarkdownLiterateHaskellMarkdownLaTeXHtml getFileType isRenderableisRenderableFileremoveLeadingSeparatorbaseGHC.Num- storeInCache getFromCacheisCacheMoreRecent cacheActionisHamletRTFile readHamletRT hamlet-0.6.0Text.Hamlet.RTHamletRT fromHamletRT matchRegexAllsubRegex splitRegex' compressCsscompressSeparatorscompressWhitespace stripCommentsghc-primGHC.BoolBoolsplitAtDelimitersisPossibleDelimiter readSectiongetRenderFunction fromString readTemplate substituteregularSubstitutefinalSubstitute pureRender createFeed renderFeedreadMapResponseresponseVersionresponseStatusCoderesponsePhraseresponseHeaders responseBodyRequest requestMethod requestURIrequestVersionServer ServerConfig documentRoot portNumber logChannellog readRequestGHC.IO.Handle.TypesHandledefaultResponsecreateResponsecreateErrorResponsecreateGetResponse getMIMEHeaderGHC.IOFilePathrespondnetwork-2.2.1.10Network PortNumberNetwork.Socket.InternaldefaultPandocParserStatedefaultPandocWriterOptions previewThreadcleanhelpserver