{-# LANGUAGE OverloadedStrings #-} module Text.Pandoc.Util ( meta, body, parseMarkdown ) where import Data.Text qualified as T import Text.Pandoc qualified as P meta :: P.Pandoc -> P.Meta meta :: Pandoc -> Meta meta (P.Pandoc Meta m [Block] _) = Meta m body :: P.Pandoc -> [P.Block] body :: Pandoc -> [Block] body (P.Pandoc Meta _ [Block] bs) = [Block] bs parseMarkdown :: T.Text -> IO P.Pandoc parseMarkdown :: Text -> IO Pandoc parseMarkdown Text s = PandocIO Pandoc -> IO (Either PandocError Pandoc) forall a. PandocIO a -> IO (Either PandocError a) P.runIO (ReaderOptions -> Text -> PandocIO Pandoc forall (m :: * -> *) a. (PandocMonad m, ToSources a) => ReaderOptions -> a -> m Pandoc P.readMarkdown ReaderOptions markdownReaderOptions Text s) IO (Either PandocError Pandoc) -> (Either PandocError Pandoc -> IO Pandoc) -> IO Pandoc forall a b. IO a -> (a -> IO b) -> IO b forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b >>= Either PandocError Pandoc -> IO Pandoc forall a. Either PandocError a -> IO a P.handleError markdownReaderOptions :: P.ReaderOptions markdownReaderOptions :: ReaderOptions markdownReaderOptions = ReaderOptions forall a. Default a => a P.def { readerStandalone :: Bool P.readerStandalone = Bool True, readerExtensions :: Extensions P.readerExtensions = Extensions P.pandocExtensions }