-- 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 ())