-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/
-- | This package provides a utility for creating queue sheets. Please see
-- the README on GitHub at
-- https://github.com/ExtremaIS/queue-sheet-haskell#readme.
@package queue-sheet
@version 0.8.0.1
module QueueSheet
-- | QueueSheet version string ("queue-sheet-haskell X.X.X.X")
version :: String
module QueueSheet.Types
-- | Name of a queue or queue item
newtype Name
Name :: Text -> Name
-- | URL of queue or queue item
newtype Url
Url :: Text -> Url
-- | Date of last queue update
newtype Date
Date :: Text -> Date
-- | Section used to organize queues
newtype Section
Section :: Text -> Section
-- | The default section is represented as an empty string
defaultSection :: Section
-- | Queue tag
newtype Tag
Tag :: Text -> Tag
-- | Queue item
--
-- Whitespace-separated tags are supported instead of CSV from
-- 0.8.0.0.
data Item
Item :: !Name -> !Maybe Url -> ![Tag] -> Item
[itemName] :: Item -> !Name
[itemUrl] :: Item -> !Maybe Url
[itemTags] :: Item -> ![Tag]
-- | Queue information
--
-- Whitespace-separated items and tags are supported instead of
-- CSV from 0.8.0.0.
data Queue
Queue :: !Name -> !Maybe Url -> !Maybe Date -> !Section -> ![Tag] -> !Maybe (Either Item [Item]) -> Queue
[queueName] :: Queue -> !Name
[queueUrl] :: Queue -> !Maybe Url
[queueDate] :: Queue -> !Maybe Date
[queueSection] :: Queue -> !Section
[queueTags] :: Queue -> ![Tag]
[queueItems] :: Queue -> !Maybe (Either Item [Item])
-- | Import declaration
data Import
Import :: !FilePath -> !Maybe Section -> Import
[importPath] :: Import -> !FilePath
[importSection] :: Import -> !Maybe Section
-- | Import declaration or queue information
data ImportOrQueue
IQImport :: !Import -> ImportOrQueue
IQQueue :: !Queue -> ImportOrQueue
-- | Queues file
data QueuesFile
QueuesFile :: ![Section] -> ![ImportOrQueue] -> QueuesFile
[qfSections] :: QueuesFile -> ![Section]
[qfImportOrQueues] :: QueuesFile -> ![ImportOrQueue]
-- | Queue sheet
data QueueSheet
QueueSheet :: ![Section] -> ![Queue] -> QueueSheet
[qsSections] :: QueueSheet -> ![Section]
[qsQueues] :: QueueSheet -> ![Queue]
instance GHC.Show.Show QueueSheet.Types.Name
instance GHC.Classes.Eq QueueSheet.Types.Name
instance GHC.Show.Show QueueSheet.Types.Url
instance GHC.Classes.Eq QueueSheet.Types.Url
instance GHC.Show.Show QueueSheet.Types.Date
instance GHC.Classes.Eq QueueSheet.Types.Date
instance GHC.Show.Show QueueSheet.Types.Section
instance GHC.Classes.Eq QueueSheet.Types.Section
instance GHC.Show.Show QueueSheet.Types.Tag
instance GHC.Classes.Eq QueueSheet.Types.Tag
instance GHC.Show.Show QueueSheet.Types.Item
instance GHC.Classes.Eq QueueSheet.Types.Item
instance GHC.Show.Show QueueSheet.Types.Queue
instance GHC.Classes.Eq QueueSheet.Types.Queue
instance GHC.Show.Show QueueSheet.Types.Import
instance GHC.Classes.Eq QueueSheet.Types.Import
instance GHC.Show.Show QueueSheet.Types.ImportOrQueue
instance GHC.Classes.Eq QueueSheet.Types.ImportOrQueue
instance GHC.Show.Show QueueSheet.Types.QueuesFile
instance GHC.Classes.Eq QueueSheet.Types.QueuesFile
instance GHC.Show.Show QueueSheet.Types.QueueSheet
instance GHC.Classes.Eq QueueSheet.Types.QueueSheet
instance Data.Aeson.Types.FromJSON.FromJSON QueueSheet.Types.QueuesFile
instance Data.Aeson.Types.FromJSON.FromJSON QueueSheet.Types.ImportOrQueue
instance Data.Aeson.Types.FromJSON.FromJSON QueueSheet.Types.Import
instance Data.Aeson.Types.FromJSON.FromJSON QueueSheet.Types.Queue
instance Data.Aeson.Types.FromJSON.FromJSON QueueSheet.Types.Item
instance Text.Ginger.GVal.ToGVal m QueueSheet.Types.Item
instance Data.Aeson.Types.FromJSON.FromJSON QueueSheet.Types.Tag
instance Data.Aeson.Types.FromJSON.FromJSON QueueSheet.Types.Section
instance Text.Ginger.GVal.ToGVal m QueueSheet.Types.Section
instance Data.TTC.Render QueueSheet.Types.Section
instance Data.Aeson.Types.FromJSON.FromJSON QueueSheet.Types.Date
instance Text.Ginger.GVal.ToGVal m QueueSheet.Types.Date
instance Data.TTC.Render QueueSheet.Types.Date
instance Data.Aeson.Types.FromJSON.FromJSON QueueSheet.Types.Url
instance Text.Ginger.GVal.ToGVal m QueueSheet.Types.Url
instance Data.TTC.Render QueueSheet.Types.Url
instance Data.Aeson.Types.FromJSON.FromJSON QueueSheet.Types.Name
instance Text.Ginger.GVal.ToGVal m QueueSheet.Types.Name
instance Data.TTC.Render QueueSheet.Types.Name
module QueueSheet.Template
-- | Load a Ginger template
loadTemplate :: FilePath -> IO (Either String (Template SourcePos))
-- | Render a template using the given context
renderTemplate :: FilePath -> Template SourcePos -> QueueSheet -> IO ()
instance Text.Ginger.GVal.ToGVal m QueueSheet.Template.Context
instance Text.Ginger.GVal.ToGVal m QueueSheet.Template.SectionCtx
instance Text.Ginger.GVal.ToGVal m QueueSheet.Template.QueueCtx
module QueueSheet.File
-- | Load a queues YAML file, resolving imports
loadYaml :: FilePath -> IO (Either String QueueSheet)
-- | Load a queues YAML file using the given file loader, resolving imports
--
-- This function defines the logic for loadYaml using an arbitrary
-- monad. It is exposed for testing purposes.
loadYaml' :: forall m. Monad m => (FilePath -> m (Either String ByteString)) -> FilePath -> m (Either String QueueSheet)
module QueueSheet.Build
-- | Build a PDF
buildPdf :: FilePath -> FilePath -> Maybe FilePath -> IO (Either String ())