úÎ!4;0ë'      !"#$%&SafeE'()*+,-.None6FKTVslickA wrapper around / which given a q which is a 0 allows caching and retrieving 1&s within Shake. See documentation on /% or see Slick examples for more info. ÿ-- We need to define a unique datatype as our cache key newtype PostFilePath = PostFilePath String -- We can derive the classes we need (using GeneralizedNewtypeDeriving) -- so long as the underlying type implements them deriving (Show, Eq, Hashable, Binary, NFData) -- now in our shake rules we can create a cache by providing a loader action do postCache <- jsonCache $ \(PostFilePath path) -> readFile' path >>= markdownToHTML . Text.pack -- Now use postCache inside an Action to load your post with caching!slickLike > but allows caching/retrieving any JSON serializable objects.slickA wrapper around Ñ which simplifies caching of values which do NOT depend on an input parameter. Unfortunately Shake still requires that the key type implement several typeclasses, however this is easily accomplished using GeneralizedNewtypeDeriving and a wrapper around (). example usage: ’{-# LANGUAGE GeneralizedNewtypeDeriving #-} module Main where newtype ProjectList = ProjectList () deriving (Show, Eq, Hashable, Binary, NFData)Within your shake Rules: nprojectCache = simpleJsonCache (ProjectList ()) $ do -- load your project list here; returning it as a ValueslickLike 1 but allows caching any JSON serializable object.None¥slickLike A but tracks changes to template files and partials within Shake.None3/q 2slick.Reasonable options for reading a markdown file3slick(Reasonable options for rendering to HTML4slick6Handle possible pandoc failure within the Action Monad slickConvert markdown text into a 1; The 1c has a "content" key containing rendered HTML Metadata is assigned on the respective keys in the 1!slickLike  2 but allows returning any JSON serializable object"slickGiven a reader from V this creates a loader which given the source document will read its metadata into a 1 returning both the 5# object and the metadata within an 6#slickLike "E but will deserialize the metadata into any object which implements 74. Failure to deserialize will fail the Shake build.$slick*Load in a source document using the given 8, then render the 5 into text using the given 9 . Returns a 1n wherein the rendered text is set to the "content" key and any metadata is set to its respective key in the 1%slickLike $" but allows also deserializes the 1# into any object which implements 75. Failure to deserialize will fail the Shake build.&slick=Attempt to convert between two JSON serializable objects (or 12s). Failure to deserialize fails the Shake build.:slickFlatten a Pandoc ;e into a well-structured JSON object, rendering Pandoc text objects into plain strings along the way. !"#$%& !"#$%&None/ß!  !"#$%&! !"#$%& <      !!"#$%&'()*+,-./0123456789:;<=><?@ABCDEFGHI<JKALMNOPGHQR#slick-0.1.0.2-8ebqEObC1KDWthlY1d0iSSlick Slick.CachingSlick.Mustache Slick.Pandoc Paths_slick Text.PandocReaders%mustache-2.3.0-7Elzk7qm8VZEsMMw9p00KQ Text.MustacheoverTextText.Mustache.CompilecompileTemplatecompileTemplateWithCachelocalAutomaticCompileautomaticCompileText.Mustache.RendersubstituteNode substituteASTcatchSubstitutecheckedSubstituteValuesubstituteValuecheckedSubstitute substituteText.Mustache.Types~=objectText.Mustache.Internal.Types toMustache ToMustachepartialsastnameTemplate jsonCache jsonCache'simpleJsonCachesimpleJsonCache'$fShowCacheQuery$fEqCacheQuery$fGenericCacheQuery$fBinaryCacheQuery$fNFDataCacheQuery$fHashableCacheQuerycompileTemplate'markdownToHTMLmarkdownToHTML'makePandocReadermakePandocReader' loadUsing loadUsing'convertversion getBinDir getLibDir getDynLibDir getDataDir getLibexecDir getSysconfDirgetDataFileName#shake-0.16.4-6iusi8e4ewA2YnRNpHsnNW'Development.Shake.Internal.Rules.OracleaddOracleCache Development.Shake.Internal.Value ShakeValue$aeson-1.4.0.0-LIOMjdhUbDoEPhbHMMZ6tyData.Aeson.Types.InternalValuemarkdownOptions html5Options unPandocM,pandoc-types-1.17.5.1-GDJyiayKyMRIci1vyXhsjwText.Pandoc.DefinitionPandoc%Development.Shake.Internal.Core.TypesActionData.Aeson.Types.FromJSONFromJSON PandocReader PandocWriter flattenMetaMeta