pandocz-0.0.1: src/Text/Pandoc/Z/Readers.hs
{-# OPTIONS_GHC -Wall #-}
module Text.Pandoc.Z.Readers where
import Control.Lens ( review )
import Citeproc.Types ( Citation )
import Data.ByteString.Lazy ( ByteString )
import Data.Text ( Text )
import Text.Pandoc.Class ( PandocMonad )
import qualified Text.Pandoc.Definition as Pandoc(Pandoc)
import qualified Text.Pandoc.Readers.BibTeX as R
import qualified Text.Pandoc.Readers.CSV as R
import qualified Text.Pandoc.Readers.CommonMark as R
import qualified Text.Pandoc.Readers.Creole as R
import qualified Text.Pandoc.Readers.CslJson as R
import qualified Text.Pandoc.Readers.Djot as R
import qualified Text.Pandoc.Readers.DocBook as R
import qualified Text.Pandoc.Readers.Docx as R
import qualified Text.Pandoc.Readers.DokuWiki as R
import qualified Text.Pandoc.Readers.EPUB as R
import qualified Text.Pandoc.Readers.EndNote as R
import qualified Text.Pandoc.Readers.FB2 as R
import qualified Text.Pandoc.Readers.HTML as R
import qualified Text.Pandoc.Readers.Haddock as R
import qualified Text.Pandoc.Readers.Ipynb as R
import qualified Text.Pandoc.Readers.JATS as R
import qualified Text.Pandoc.Readers.Jira as R
import qualified Text.Pandoc.Readers.LaTeX as R
import qualified Text.Pandoc.Readers.Man as R
import qualified Text.Pandoc.Readers.Markdown as R
import qualified Text.Pandoc.Readers.MediaWiki as R
import qualified Text.Pandoc.Readers.Muse as R
import qualified Text.Pandoc.Readers.Native as R
import qualified Text.Pandoc.Readers.ODT as R
import qualified Text.Pandoc.Readers.OPML as R
import qualified Text.Pandoc.Readers.Org as R
import qualified Text.Pandoc.Readers.RIS as R
import qualified Text.Pandoc.Readers.RST as R
import qualified Text.Pandoc.Readers.RTF as R
import qualified Text.Pandoc.Readers.TWiki as R
import qualified Text.Pandoc.Readers.Textile as R
import qualified Text.Pandoc.Readers.TikiWiki as R
import qualified Text.Pandoc.Readers.Txt2Tags as R
import qualified Text.Pandoc.Readers.Typst as R
import qualified Text.Pandoc.Readers.Vimwiki as R
import Text.Pandoc.Sources ( ToSources )
import Text.Pandoc.Z.Definition(Pandoc, isPandoc)
import Text.Pandoc.Z.ReaderOptions ( ReaderOptions )
-- $setup
-- >>> import Text.Pandoc.Z.Util
convertReader ::
Functor f =>
(a -> b -> f Pandoc.Pandoc)
-> a
-> b
-> f Pandoc
convertReader r o a =
review isPandoc <$> r o a
readBibTeX ::
(PandocMonad m, ToSources a) =>
ReaderOptions
-> a
-> m Pandoc
readBibTeX =
convertReader R.readBibTeX
readBibLaTeX ::
(PandocMonad m, ToSources a) =>
ReaderOptions
-> a
-> m Pandoc
readBibLaTeX =
convertReader R.readBibTeX
-- |
--
-- >>> readPandocExtensions readCSV "abc,def,\"ghi\""
-- Right (Pandoc (Meta (fromList [])) [TableBlock (Table (Attr "" [] []) (Caption Nothing []) [ColSpec AlignDefault ColWidthDefault,ColSpec AlignDefault ColWidthDefault,ColSpec AlignDefault ColWidthDefault] (TableHead (Attr "" [] []) [Row (Attr "" [] []) [Cell (Attr "" [] []) AlignDefault (RowSpan (RowSpan 1)) (ColSpan (ColSpan 1)) [Plain [Str "abc"]],Cell (Attr "" [] []) AlignDefault (RowSpan (RowSpan 1)) (ColSpan (ColSpan 1)) [Plain [Str "def"]],Cell (Attr "" [] []) AlignDefault (RowSpan (RowSpan 1)) (ColSpan (ColSpan 1)) [Plain [Str "ghi"]]]]) [TableBody (Attr "" [] []) (RowHeadColumns (RowHeadColumns 0)) [] []] (TableFoot (Attr "" [] []) []))])
--
-- >>> readPandocExtensions readCSV "abc,def,\"ghi\"\njkl,mno,pqr\n"
-- Right (Pandoc (Meta (fromList [])) [TableBlock (Table (Attr "" [] []) (Caption Nothing []) [ColSpec AlignDefault ColWidthDefault,ColSpec AlignDefault ColWidthDefault,ColSpec AlignDefault ColWidthDefault] (TableHead (Attr "" [] []) [Row (Attr "" [] []) [Cell (Attr "" [] []) AlignDefault (RowSpan (RowSpan 1)) (ColSpan (ColSpan 1)) [Plain [Str "abc"]],Cell (Attr "" [] []) AlignDefault (RowSpan (RowSpan 1)) (ColSpan (ColSpan 1)) [Plain [Str "def"]],Cell (Attr "" [] []) AlignDefault (RowSpan (RowSpan 1)) (ColSpan (ColSpan 1)) [Plain [Str "ghi"]]]]) [TableBody (Attr "" [] []) (RowHeadColumns (RowHeadColumns 0)) [] [Row (Attr "" [] []) [Cell (Attr "" [] []) AlignDefault (RowSpan (RowSpan 1)) (ColSpan (ColSpan 1)) [Plain [Str "jkl"]],Cell (Attr "" [] []) AlignDefault (RowSpan (RowSpan 1)) (ColSpan (ColSpan 1)) [Plain [Str "mno"]],Cell (Attr "" [] []) AlignDefault (RowSpan (RowSpan 1)) (ColSpan (ColSpan 1)) [Plain [Str "pqr"]]]]] (TableFoot (Attr "" [] []) []))])
readCSV ::
(PandocMonad m, ToSources a) =>
ReaderOptions
-> a
-> m Pandoc
readCSV =
convertReader R.readCSV
-- |
--
-- >>> readPandocExtensions readTSV "abc\tdef\t,\"ghi\""
-- Right (Pandoc (Meta (fromList [])) [TableBlock (Table (Attr "" [] []) (Caption Nothing []) [ColSpec AlignDefault ColWidthDefault,ColSpec AlignDefault ColWidthDefault] (TableHead (Attr "" [] []) [Row (Attr "" [] []) [Cell (Attr "" [] []) AlignDefault (RowSpan (RowSpan 1)) (ColSpan (ColSpan 1)) [Plain [Str "abc",Space,Str "def",Space]],Cell (Attr "" [] []) AlignDefault (RowSpan (RowSpan 1)) (ColSpan (ColSpan 1)) [Plain [Str "ghi"]]]]) [TableBody (Attr "" [] []) (RowHeadColumns (RowHeadColumns 0)) [] []] (TableFoot (Attr "" [] []) []))])
readTSV ::
(PandocMonad m, ToSources a) =>
ReaderOptions
-> a
-> m Pandoc
readTSV =
convertReader R.readCSV
readCommonMark ::
(PandocMonad m, ToSources a) =>
ReaderOptions
-> a
-> m Pandoc
readCommonMark =
convertReader R.readCommonMark
readCreole ::
(PandocMonad m, ToSources a) =>
ReaderOptions
-> a
-> m Pandoc
readCreole =
convertReader R.readCreole
readCslJson ::
(PandocMonad m, ToSources a) =>
ReaderOptions
-> a
-> m Pandoc
readCslJson =
convertReader R.readCslJson
readDjot ::
(PandocMonad m, ToSources a) =>
ReaderOptions
-> a
-> m Pandoc
readDjot =
convertReader R.readDjot
readDocBook::
(PandocMonad m, ToSources a) =>
ReaderOptions
-> a
-> m Pandoc
readDocBook =
convertReader R.readDocBook
readDocx ::
PandocMonad m =>
ReaderOptions
-> ByteString
-> m Pandoc
readDocx =
convertReader R.readDocx
readDokuWiki ::
(PandocMonad m, ToSources a) =>
ReaderOptions
-> a
-> m Pandoc
readDokuWiki =
convertReader R.readDokuWiki
readEPUB ::
PandocMonad m =>
ReaderOptions
-> ByteString
-> m Pandoc
readEPUB =
convertReader R.readEPUB
readEndNoteXML ::
(PandocMonad m, ToSources a) =>
ReaderOptions
-> a
-> m Pandoc
readEndNoteXML =
convertReader R.readEndNoteXML
readEndNoteXMLCitation ::
PandocMonad m =>
Text
-> m (Citation Text)
readEndNoteXMLCitation =
R.readEndNoteXMLCitation
readFB2::
(PandocMonad m, ToSources a) =>
ReaderOptions
-> a
-> m Pandoc
readFB2 =
convertReader R.readFB2
-- |
--
-- >>> readPandocExtensions readHtml "abc"
-- Right (Pandoc (Meta (fromList [])) [Plain [Str "abc"]])
--
-- >>> readPandocExtensions readHtml "<p><div>abc</div></p>"
-- Right (Pandoc (Meta (fromList [])) [DivBlock (Div (Attr "" [] []) [Plain [Str "abc"]]),RawBlock (Raw (Format (Format "html")) "</p>")])
--
-- >>> readPandocExtensions readHtml "<b><p><div>abc</div></p></b>"
-- Right (Pandoc (Meta (fromList [])) [Plain [Strong []],DivBlock (Div (Attr "" [] []) [Plain [Str "abc"]]),RawBlock (Raw (Format (Format "html")) "</p>"),Plain [RawInline (Raw (Format (Format "html")) "</b>")]])
readHtml::
(PandocMonad m, ToSources a) =>
ReaderOptions
-> a
-> m Pandoc
readHtml =
convertReader R.readHtml
readHaddock::
(PandocMonad m, ToSources a) =>
ReaderOptions
-> a
-> m Pandoc
readHaddock =
convertReader R.readHaddock
readIpynb::
(PandocMonad m, ToSources a) =>
ReaderOptions
-> a
-> m Pandoc
readIpynb =
convertReader R.readIpynb
readJATS::
(PandocMonad m, ToSources a) =>
ReaderOptions
-> a
-> m Pandoc
readJATS =
convertReader R.readJATS
readJira::
(PandocMonad m, ToSources a) =>
ReaderOptions
-> a
-> m Pandoc
readJira =
convertReader R.readJira
readLaTeX::
(PandocMonad m, ToSources a) =>
ReaderOptions
-> a
-> m Pandoc
readLaTeX =
convertReader R.readLaTeX
readMan::
(PandocMonad m, ToSources a) =>
ReaderOptions
-> a
-> m Pandoc
readMan =
convertReader R.readMan
-- |
--
-- >>> readPandocExtensions readMarkdown "abc"
-- Right (Pandoc (Meta (fromList [])) [Para [Str "abc"]])
--
-- >>> readPandocExtensions readMarkdown "**abc** _def_"
-- Right (Pandoc (Meta (fromList [])) [Para [Strong [Str "abc"],Space,Emph [Str "def"]]])
--
-- >>> readPandocExtensions readMarkdown " abc def ghi\n ----- ----- -----\n jkl mno pqr\n"
-- Right (Pandoc (Meta (fromList [])) [TableBlock (Table (Attr "" [] []) (Caption Nothing []) [ColSpec AlignLeft ColWidthDefault,ColSpec AlignLeft ColWidthDefault,ColSpec AlignLeft ColWidthDefault] (TableHead (Attr "" [] []) [Row (Attr "" [] []) [Cell (Attr "" [] []) AlignDefault (RowSpan (RowSpan 1)) (ColSpan (ColSpan 1)) [Plain [Str "abc"]],Cell (Attr "" [] []) AlignDefault (RowSpan (RowSpan 1)) (ColSpan (ColSpan 1)) [Plain [Str "def"]],Cell (Attr "" [] []) AlignDefault (RowSpan (RowSpan 1)) (ColSpan (ColSpan 1)) [Plain [Str "ghi"]]]]) [TableBody (Attr "" [] []) (RowHeadColumns (RowHeadColumns 0)) [] [Row (Attr "" [] []) [Cell (Attr "" [] []) AlignDefault (RowSpan (RowSpan 1)) (ColSpan (ColSpan 1)) [Plain [Str "jkl"]],Cell (Attr "" [] []) AlignDefault (RowSpan (RowSpan 1)) (ColSpan (ColSpan 1)) [Plain [Str "mno"]],Cell (Attr "" [] []) AlignDefault (RowSpan (RowSpan 1)) (ColSpan (ColSpan 1)) [Plain [Str "pqr"]]]]] (TableFoot (Attr "" [] []) []))])
readMarkdown::
(PandocMonad m, ToSources a) =>
ReaderOptions
-> a
-> m Pandoc
readMarkdown =
convertReader R.readMarkdown
readMediaWiki::
(PandocMonad m, ToSources a) =>
ReaderOptions
-> a
-> m Pandoc
readMediaWiki =
convertReader R.readMediaWiki
readMuse::
(PandocMonad m, ToSources a) =>
ReaderOptions
-> a
-> m Pandoc
readMuse =
convertReader R.readMuse
readNative ::
(PandocMonad m, ToSources a) =>
ReaderOptions
-> a
-> m Pandoc
readNative =
convertReader R.readNative
readODT ::
PandocMonad m =>
ReaderOptions
-> ByteString
-> m Pandoc
readODT =
convertReader R.readODT
readOPML ::
(PandocMonad m, ToSources a) =>
ReaderOptions
-> a
-> m Pandoc
readOPML =
convertReader R.readOPML
readOrg ::
(PandocMonad m, ToSources a) =>
ReaderOptions
-> a
-> m Pandoc
readOrg =
convertReader R.readOrg
readRIS ::
(PandocMonad m, ToSources a) =>
ReaderOptions
-> a
-> m Pandoc
readRIS =
convertReader R.readRIS
readRST ::
(PandocMonad m, ToSources a) =>
ReaderOptions
-> a
-> m Pandoc
readRST =
convertReader R.readRST
readRTF ::
(PandocMonad m, ToSources a) =>
ReaderOptions
-> a
-> m Pandoc
readRTF =
convertReader R.readRTF
readTWiki ::
(PandocMonad m, ToSources a) =>
ReaderOptions
-> a
-> m Pandoc
readTWiki =
convertReader R.readTWiki
readTextile ::
(PandocMonad m, ToSources a) =>
ReaderOptions
-> a
-> m Pandoc
readTextile =
convertReader R.readTextile
readTikiWiki ::
(PandocMonad m, ToSources a) =>
ReaderOptions
-> a
-> m Pandoc
readTikiWiki =
convertReader R.readTikiWiki
readTxt2Tags ::
(PandocMonad m, ToSources a) =>
ReaderOptions
-> a
-> m Pandoc
readTxt2Tags =
convertReader R.readTxt2Tags
readTypst ::
(PandocMonad m, ToSources a) =>
ReaderOptions
-> a
-> m Pandoc
readTypst =
convertReader R.readTypst
readVimwiki ::
(PandocMonad m, ToSources a) =>
ReaderOptions
-> a
-> m Pandoc
readVimwiki =
convertReader R.readVimwiki