Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- data Compiler a
- getUnderlying :: Compiler Identifier
- getUnderlyingExtension :: Compiler String
- makeItem :: a -> Compiler (Item a)
- getRoute :: Identifier -> Compiler (Maybe FilePath)
- getResourceBody :: Compiler (Item String)
- getResourceString :: Compiler (Item String)
- getResourceLBS :: Compiler (Item ByteString)
- getResourceFilePath :: Compiler FilePath
- type Snapshot = String
- saveSnapshot :: (Binary a, Typeable a) => Snapshot -> Item a -> Compiler (Item a)
- load :: (Binary a, Typeable a) => Identifier -> Compiler (Item a)
- loadSnapshot :: (Binary a, Typeable a) => Identifier -> Snapshot -> Compiler (Item a)
- loadBody :: (Binary a, Typeable a) => Identifier -> Compiler a
- loadSnapshotBody :: (Binary a, Typeable a) => Identifier -> Snapshot -> Compiler a
- loadAll :: (Binary a, Typeable a) => Pattern -> Compiler [Item a]
- loadAllSnapshots :: (Binary a, Typeable a) => Pattern -> Snapshot -> Compiler [Item a]
- cached :: (Binary a, Typeable a) => String -> Compiler a -> Compiler a
- unsafeCompiler :: IO a -> Compiler a
- debugCompiler :: String -> Compiler ()
- noResult :: String -> Compiler a
- withErrorMessage :: String -> Compiler a -> Compiler a
Documentation
A monad which lets you compile items and takes care of dependency tracking for you.
Instances
Monad Compiler Source # | |
Functor Compiler Source # | |
MonadFail Compiler Source # | |
Defined in Hakyll.Core.Compiler.Internal | |
Applicative Compiler Source # | |
Alternative Compiler Source # | Trying alternative compilers if the first fails, regardless whether through
|
MonadMetadata Compiler Source # | Access provided metadata from anywhere |
Defined in Hakyll.Core.Compiler.Internal getMetadata :: Identifier -> Compiler Metadata Source # getMatches :: Pattern -> Compiler [Identifier] Source # getAllMetadata :: Pattern -> Compiler [(Identifier, Metadata)] Source # | |
MonadError [String] Compiler Source # | Compilation may fail with multiple error messages.
|
Defined in Hakyll.Core.Compiler.Internal throwError :: [String] -> Compiler a # catchError :: Compiler a -> ([String] -> Compiler a) -> Compiler a # |
getUnderlying :: Compiler Identifier Source #
Get the underlying identifier.
getUnderlyingExtension :: Compiler String Source #
Get the extension of the underlying identifier. Returns something like
".html"
makeItem :: a -> Compiler (Item a) Source #
Create an item from the underlying identifier and a given value.
getResourceBody :: Compiler (Item String) Source #
Get the full contents of the matched source file as a string, but without metadata preamble, if there was one.
getResourceString :: Compiler (Item String) Source #
Get the full contents of the matched source file as a string.
getResourceLBS :: Compiler (Item ByteString) Source #
Get the full contents of the matched source file as a lazy bytestring.
getResourceFilePath :: Compiler FilePath Source #
Get the file path of the resource we are compiling
type Snapshot = String Source #
Whilst compiling an item, it possible to save multiple snapshots of it, and not just the final result.
saveSnapshot :: (Binary a, Typeable a) => Snapshot -> Item a -> Compiler (Item a) Source #
Save a snapshot of the item. This function returns the same item, which
convenient for building >>=
chains.
load :: (Binary a, Typeable a) => Identifier -> Compiler (Item a) Source #
Load an item compiled elsewhere. If the required item is not yet compiled, the build system will take care of that automatically.
loadSnapshot :: (Binary a, Typeable a) => Identifier -> Snapshot -> Compiler (Item a) Source #
Require a specific snapshot of an item.
loadBody :: (Binary a, Typeable a) => Identifier -> Compiler a Source #
A shortcut for only requiring the body of an item.
loadBody = fmap itemBody . load
loadSnapshotBody :: (Binary a, Typeable a) => Identifier -> Snapshot -> Compiler a Source #
A shortcut for only requiring the body for a specific snapshot of an item
loadAll :: (Binary a, Typeable a) => Pattern -> Compiler [Item a] Source #
This function allows you to load
a dynamic list of items
loadAllSnapshots :: (Binary a, Typeable a) => Pattern -> Snapshot -> Compiler [Item a] Source #
Load a specific snapshot for each of dynamic list of items
cached :: (Binary a, Typeable a) => String -> Compiler a -> Compiler a Source #
Turn on caching for a compilation value to avoid recomputing it on subsequent Hakyll runs. The storage key consists of the underlying identifier of the compiled ressource and the given name.
unsafeCompiler :: IO a -> Compiler a Source #
Run an IO computation without dependencies in a Compiler
debugCompiler :: String -> Compiler () Source #
Compiler for debugging purposes. Passes a message to the debug logger that is printed in verbose mode.