module Util.Options where
import Text.Pandoc.Definition
import References.Types
import Util.Meta
import Util.Template
data Options = Options { useCleveref :: Bool
, sepChapters :: Bool
, figPrefix :: [Inline]
, eqnPrefix :: [Inline]
, tblPrefix :: [Inline]
, chapDelim :: [Inline]
, rangeDelim :: [Inline]
, lofTitle :: [Block]
, lotTitle :: [Block]
, outFormat :: Maybe Format
, figureTemplate :: WS [Inline]
, tableTemplate :: WS [Inline]
}
getOptions :: Meta -> Meta -> Maybe Format -> Options
getOptions meta dtv fmt =
Options {
useCleveref = getMetaBool "cref" meta dtv
, sepChapters = getMetaBool "chapters" meta dtv
, figPrefix = getMetaInlines "figPrefix" meta dtv
, eqnPrefix = getMetaInlines "eqnPrefix" meta dtv
, tblPrefix = getMetaInlines "tblPrefix" meta dtv
, chapDelim = getMetaInlines "chapDelim" meta dtv
, rangeDelim = getMetaInlines "rangeDelim" meta dtv
, lofTitle = getMetaBlock "lofTitle" meta dtv
, lotTitle = getMetaBlock "lotTitle" meta dtv
, outFormat = fmt
, figureTemplate = replaceTemplate $ getMetaInlines "figureTemplate" meta dtv
, tableTemplate = replaceTemplate $ getMetaInlines "tableTemplate" meta dtv
}