!      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ None("#$%&',-./1245678=>?@ACEHMPSVX_`ahNone'"#$%&',-./1245678=>?@ACEHMPSVX_`ah shakebookUnion two JSON values together. shakebook#Add a String field to a JSON value. shakebook#Add an Array field to a JSON value. shakebook$Add an Object field to a JSON value. shakebook*Maybe add an Object field to a JSON value.None'"#$%&',-./1245678=>?@ACEHMPSVX_`ah+H ! shakebook)View the "srcPath" field of a JSON Value." shakebook(Add "srcPath" field based on input Text.# shakebook$Add "baseUrl" field from input Text.$ shakebook%Add "fullUrl" field from input Text.% shakebook%View the "url" field of a JSON Value.& shakebook Add "url" field from input Text.' shakebook,Assuming a "url" field, enrich via a baseURL( shakebook Assuming a srcPathA field, enrich using withUrl using a Text -> Text transformation.) shakebook]Filepath/URL calculators - these work but don't try to do the wrong thing or it will explode.. shakebooknGet a JSON Value of Markdown Data with markdown body as "contents" field and the srcPath as "srcPath" field.1 shakebookTBuild a single page straight from a template, a loaded Value, and a pure enrichment.4 shakebookMulti-markdown loader. Allows you to load a filepattern of markdown as a list of JSON values ready to pass to an HTML template. You will probably want to add additional data before you write. See the examples in Shakebook.Defaults5 shakebook The same as 4 but without filtering.1 shakebookThe HTML template shakebook3How to get from FilePath to Value, can use Actions. shakebook#Additional modifiers for the value. shakebookThe out filepath4 shakebook>A shake filepattern to load, relative to srcDir from SbConfig. shakebook+A value to sortOn e.g (Down . viewPostTime) shakebook/A filtering predicate e.g (elem tag . viewTags) shakebookZAn initial enrichment. This is pure so can only be data derived from the initial markdown. shakebook*A list of Values indexed by their srcPath.5 shakebookA Shake filepattern to load. shakebook,A value to sortOn e.g (Down . viewPostTime). shakebookAn initial pure enrichment. shakebook(A list of Values index by their srcPath.1  !"#$%&'()*+,-./0123451   !"#$%&'()*+,-./012345None'"#$%&',-./1245678=>?@ACEHMPSVX_`ah7E shakebookGenerates Shake 1 from a FilePattern via an action that returns a .F shakebookGenerates Shake  from a  of  sources.E shakebookThe filepattern rule. shakebook6How to extract a position marker from the filepattern. shakebook*How to extract an id from the filepattern. shakebook+How to turn the id into a searchable store.F shakebookA cofree comonad of FilePaths shakebook-How to find the source for each out FilePath. shakebookdHow to generate a write Action for the target of a comonad. This is extended over the whole comonad.EFEF None'"#$%&',-./1245678=>?@ACEHMPSVX_`ah83  !"#$%&'()*+,-./012345EFNone'"#$%&',-./1245678=>?@ACEHMPSVX_`ah:GHIJGHIJNone'"#$%&',-./1245678=>?@ACEHMPSVX_`ah^ K shakebook)View the "content" field of a JSON Value.L shakebook3View the "date" field of a JSON Value as a UTCTime.M shakebook.View the "date" field of a JSON Value as Text.N shakebook0View the "tags" field of a JSON Value as a list.O shakebook'View the "title" field of a JSON Value.P shakebook'View all post tags for a list of posts.Q shakebook)View all posts times for a list of posts.R shakebook.Add "highlighting-css" field from input Style.S shakebook"Add "next" field from input Value.T shakebook%Add "pages" field from input [Value].U shakebook(Add "prettydate" field using input Text.V shakebook'Add "previous" field using input Value.W shakebook)Add "posts" field based on input [Value].X shakebook*Add "recentposts" field using input Value.Y shakebook.Add "subsections" field based on inpt [Value].Z shakebook,Add "tagindex" field based on input [Value].[ shakebook,Add "taglinks" field based on input [Value].\ shakebook'Add "teaser" field based on input Text.] shakebook&Add "title" field based on input Text.^ shakebookIAssuming a "date" field, enrich using withPrettyDate and a format string._ shakebook3Assuming a "tags" field, enrich using withTagLinks.` shakebookJAssuming a "content" field with a spitter section, enrich using withTeasera shakebook,Add both "next" and "previous" fields using  withPostNext and withPostPreviousb shakebook9Extend a Zipper of JSON Values to add "previous" objects.c shakebook5Extend a Zipper of JSON Values to add "next" objects.e shakebookoCreate link data object with fields "id" and "url" using an id and a function | transforming an id into a url.f shakebookFilter a lists of posts by tag.g shakebookSort a lists of posts by date.h shakebook6Check whether two posts were posted in the same month. shakebook8Partition a list of posts by the month they were posted.j shakebookXCreate a blog navbar object for a posts section, with layers "toc1", "toc2", and "toc3".k shakebookUCreate a toc navbar object for a docs section, with layers "toc1", "toc2" and "toc3".j shakebook"Top level title, e.g Blog shakebookRoot page, e.g "/posts" shakebook,Formatting function to a UTCTime to a title. shakebook6Formatting function to convert a UTCTime to a URL link%!"KLMNOPQRSTUVWXYZ[\]^_`abcdefghijklm%KLM!NOPQRSTUVWX"YZ[\]^_`cbadjmelkgihfNone'"#$%&',-./1245678=>?@ACEHMPSVX_`ahaRnonoNone'"#$%&',-./1245678=>?@ACEHMPSVX_`ah  shakebookDefault Posts Pager.  shakebook,Build a PDF from a Cofree table of contents. shakebookDefault Single Page Pattern, see tests for usage. It's possible this could just be called singlePagePattern, as there's no hardcoded strings here, but it would need to run entirely within the monad to translate filepaths. shakebookhDefault statics patterns. Takes a list of filepatterns and adds a rule that copies everything verbatim shakebook:Default "shake clean" phony, cleans your output directory. shakebookDefault "shake statics" phony rule. automatically runs need on "<out>/thing/*" for every thing found in "images/", "css/", "js/" and "webfonts/" shakebookDefault "shake posts" phony rule. takes a [FilePattern] pointing to the posts and and calls need on "<out>/posts/<filename>.html" for each markdown post found. shakebookDefault "shake posts-index" phony rule. Takes a [FilePattern] of posts to discover and calls need on "<out>/posts/index.html" and "<out>/posts/pages/<n>/index.html" for each page required. shakebookDefault "shake tag-index" phony rule. Takes a [FilePattern] of posts to discover and calls need on "<out>/posts/tags/<tag>/index.html" and "<out>/posts/tags/<tag>/pages/<n>/index.html" for each tag discovered and for each page required per tag filter. shakebook(Default "shake month-index" phony rule. Takes a [FilePattern] of posts to discover and calls need on "<out>/posts/months/<yyyy-md>/index.html" and "<out>/posts/months/<yyyy-md>/pages/<n>/index.html" for each month discovered that contains a post and for each page required per month filter. shakebookQDefault "shake docs" phony rule, takes a Cofree [] String as a table of contents. x shakebookBaseURLy shakebookPost enrichment.z shakebookPost enrichment| shakebookA filtering function  shakebook How to turn the id into a Title. shakebook?How to turn the id and a page number (as Text) into a URL link. shakebookThe id itself.} shakebook2How to extract a page number from the Filepattern. shakebook)How to extract an id from the FilePattern~ shakebookPager extension. shakebookPager extension. shakebookPager extension. shakebookA post loader function. shakebook+A transformation on the entire post zipper. shakebook%The output filename e.g "index.html". shakebook A tmpl file. shakebookLast minute enrichment. pqrstuvwxyz{|}~ pqrstuvwxyz{|}~       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~(shakebook-0.2.0.0-BKASQJpTYkpLf9zmWRhAfBShakebook.AesonShakebook.DataShakebook.RulesShakebook.ZipperShakebook.ConventionsShakebook.FeedShakebook.DefaultsPaths_shakebook ShakebookwithJSONwithStringFieldwithArrayFieldwithObjectFieldwithObjectFieldMaybeMonadShakebookRulesMonadShakebookActionMonadShakebook ShakebookEnvlogFuncsbConfig MonadRules liftRules MonadAction liftAction ShakebookA HasSbConfig sbConfigLSbConfigsbSrcDirsbOutDir sbBaseUrlsbMdRead sbHTWritesbPPPToC runShakebook runShakebookA viewSrcPath withSrcPath withBaseUrl withFullUrlviewUrlwithUrl enrichFullUrl enrichUrltypicalFullOutToSrcPathtypicalFullOutHTMLToMdSrcPathtypicalMdSrcPathToHTMLFullOuttypicalSrcPathToUrltypicalUrlEnricherreadMarkdownFile' loadIfExists getMarkdowngenBuildPageAction traverseToSndlowerloadSortFilterEnrichloadSortEnrich$fMonadActionShakebookA$fMonadRulesShakebook$fHasLogFuncShakebookEnv$fHasSbConfigShakebookEnv$fShowSbConfig$fFunctorShakebook$fApplicativeShakebook$fMonadShakebook$fMonadReaderShakebook$fMonadIOShakebook$fFunctorShakebookA$fApplicativeShakebookA$fMonadShakebookA$fMonadReaderShakebookA$fMonadIOShakebookAcomonadStoreRuleGen cofreeRuleGenpaginatezipperNextMaybezipperPreviousMaybe zipperWithin viewContent viewPostTimeviewPostTimeRawviewTags viewTitleviewAllPostTagsviewAllPostTimeswithHighlightingwithNext withPageswithPrettyDate withPrevious withPostswithRecentPostswithSubsections withTagIndex withTagLinks withTeaser withTitleenrichPrettyDateenrichTagLinks enrichTeaserextendNextPreviousextendPrevious extendNextextendPageNeighbours genLinkDatatagFilterPosts dateSortPosts sameMonthmonthFilterPostsgenBlogNavbarDatagenTocNavbarData genPageDatagenIndexPageData asAtomEntry buildFeeddefaultMonthURLFormatdefaultPrettyMonthFormatdefaultPrettyTimeFormatdefaultMonthIndexUrlFormatdefaultEnrichPostdefaultMarkdownReaderOptionsdefaultHtml5WriterOptionsdefaultLatexWriterOptionsdefaultSbConfigaffixBlogNavbaraffixRecentPostsdefaultDocsPatternsdefaultPostIndexDatadefaultPagerPatterndefaultPostIndexPatternsdefaultTagIndexPatternsdefaultMonthIndexPatternsdefaultPostsPatterns makePDFLaTeX handleImages handleHeaders pushHeadersbuildPDFdefaultSinglePagePatterndefaultStaticsPatternsdefaultCleanPhonydefaultStaticsPhonydefaultPostsPhonydefaultPostIndexPhonydefaultTagIndexPhonydefaultMonthIndexPhonydefaultDocsPhonyversion getBinDir getLibDir getDynLibDir getDataDir getLibexecDir getSysconfDirgetDataFileName#shake-0.18.5-9d5Q7u6uJNX3FCE2w0k3uS%Development.Shake.Internal.Core.RulesRules$comonad-5.0.6-JfcN6iPhxp7Eeulcp61Z8tControl.Comonad.Store.Class ComonadStore!free-5.1.3-IiaecEZpJzALwrL4Ysp95GControl.Comonad.Cofree.Class ComonadCofreebaseGHC.IOFilePathpartitionToMonths