Copyright | Copyright (C) 2020 Daniel Firth |
---|---|
Maintainer | Daniel Firth <dan.firth@homotopic.tech |
Safe Haskell | None |
Language | Haskell2010 |
License : MIT Stability : experimental
Pandoc utilities lifted to MonadAction
.
Synopsis
- runPandocA :: (MonadAction m, MonadThrow m) => PandocIO a -> m a
- newtype PandocActionException = PandocActionException String
- readFilePandoc :: (MonadAction m, MonadThrow m, FileLike b a) => (ReaderOptions -> Text -> PandocIO Pandoc) -> ReaderOptions -> a -> m Pandoc
- readCSVFile :: (MonadAction m, MonadThrow m, FileLike b a) => ReaderOptions -> a -> m Pandoc
- readLaTeXFile :: (MonadAction m, MonadThrow m, FileLike b a) => ReaderOptions -> a -> m Pandoc
- readMarkdownFile :: (MonadAction m, MonadThrow m, FileLike b a) => ReaderOptions -> a -> m Pandoc
- readMediaWikiFile :: (MonadAction m, MonadThrow m, FileLike b a) => ReaderOptions -> a -> m Pandoc
- loadMarkdownAsJSON :: (MonadAction m, MonadThrow m) => ReaderOptions -> WriterOptions -> Within Rel (Path Rel File) -> m Value
- makePDFLaTeX :: (MonadAction m, MonadThrow m) => WriterOptions -> Pandoc -> m ByteString
- needPandocImagesIn :: (MonadAction m, MonadThrow m) => Path Rel Dir -> Pandoc -> m ()
- flattenMeta :: MonadAction m => (Pandoc -> PandocIO Text) -> Meta -> m Value
- prefixAllImages :: Path Rel Dir -> Pandoc -> Pandoc
- progressivelyDemoteHeaders :: Cofree [] Pandoc -> Cofree [] Pandoc
- replaceUnusableImages :: MonadThrow m => [String] -> (Text -> Inline) -> Pandoc -> m Pandoc
- viewContent :: ToJSON a => a -> Text
- viewSrcPath :: ToJSON a => a -> Text
- viewUrl :: ToJSON a => a -> Text
runPandocA
runPandocA :: (MonadAction m, MonadThrow m) => PandocIO a -> m a Source #
Natural transformation from PandocIO
to a MonadAction
newtype PandocActionException Source #
Instances
Eq PandocActionException Source # | |
Defined in Shakebook.Pandoc (==) :: PandocActionException -> PandocActionException -> Bool # (/=) :: PandocActionException -> PandocActionException -> Bool # | |
Show PandocActionException Source # | |
Defined in Shakebook.Pandoc showsPrec :: Int -> PandocActionException -> ShowS # show :: PandocActionException -> String # showList :: [PandocActionException] -> ShowS # | |
Exception PandocActionException Source # | |
Defined in Shakebook.Pandoc |
Readers
readFilePandoc :: (MonadAction m, MonadThrow m, FileLike b a) => (ReaderOptions -> Text -> PandocIO Pandoc) -> ReaderOptions -> a -> m Pandoc Source #
Run a Pandoc reader as a Shake action.
readCSVFile :: (MonadAction m, MonadThrow m, FileLike b a) => ReaderOptions -> a -> m Pandoc Source #
Read a CSV file and return a Pandoc
as an Action.
readLaTeXFile :: (MonadAction m, MonadThrow m, FileLike b a) => ReaderOptions -> a -> m Pandoc Source #
Read a LaTeX file and return a Pandoc
as an Action.
readMarkdownFile :: (MonadAction m, MonadThrow m, FileLike b a) => ReaderOptions -> a -> m Pandoc Source #
Read a markdown file and return a Pandoc
as an Action.
readMediaWikiFile :: (MonadAction m, MonadThrow m, FileLike b a) => ReaderOptions -> a -> m Pandoc Source #
Read a mediawiki file and return a Pandoc
as an Action.
loadMarkdownAsJSON :: (MonadAction m, MonadThrow m) => ReaderOptions -> WriterOptions -> Within Rel (Path Rel File) -> m Value Source #
Get a JSON Value of Markdown Data with markdown body as "contents" field and the srcPath as "srcPath" field.
Writers
makePDFLaTeX :: (MonadAction m, MonadThrow m) => WriterOptions -> Pandoc -> m ByteString Source #
Make a pdflatex in an Action
.
File Rules
needPandocImagesIn :: (MonadAction m, MonadThrow m) => Path Rel Dir -> Pandoc -> m () Source #
Filters
flattenMeta :: MonadAction m => (Pandoc -> PandocIO Text) -> Meta -> m Value Source #
prefixAllImages :: Path Rel Dir -> Pandoc -> Pandoc Source #
Prefix all images in a Pandoc
with a directory.
progressivelyDemoteHeaders :: Cofree [] Pandoc -> Cofree [] Pandoc Source #
Precarious function that demotes Header numbers within the Pandoc according to its depth in the Cofree. This is so that Headers that H1s that would correctly display for an HTML page will be lower in the table of contents in the PDF equivalent.
replaceUnusableImages :: MonadThrow m => [String] -> (Text -> Inline) -> Pandoc -> m Pandoc Source #
For a list of file extensions, replace the images with an Inline based on its src path.
Lenses
viewContent :: ToJSON a => a -> Text Source #
View the "content" field of a JSON value.
viewSrcPath :: ToJSON a => a -> Text Source #
View the "src-path" field of a JSON Value.