pandoc-3.0: Conversion between markup formats
CopyrightCopyright (C) 2006-2023 John MacFarlane
LicenseGNU GPL, version 2 or above
MaintainerJohn MacFarlane <jgm@berkeley@edu>
Stabilityalpha
Portabilityportable
Safe HaskellSafe-Inferred
LanguageHaskell2010

Text.Pandoc.App

Description

Does a pandoc conversion based on command-line options.

Synopsis

Documentation

handleOptInfo :: ScriptingEngine -> OptInfo -> IO () Source #

React to an OptInfo by printing the requested information and exiting or (if there was a parsing error) raising an error.

data Opt Source #

Data structure for command line options.

Constructors

Opt 

Fields

Instances

Instances details
Generic Opt Source # 
Instance details

Defined in Text.Pandoc.App.Opt

Associated Types

type Rep Opt :: Type -> Type #

Methods

from :: Opt -> Rep Opt x #

to :: Rep Opt x -> Opt #

Show Opt Source # 
Instance details

Defined in Text.Pandoc.App.Opt

Methods

showsPrec :: Int -> Opt -> ShowS #

show :: Opt -> String #

showList :: [Opt] -> ShowS #

FromJSON Opt Source # 
Instance details

Defined in Text.Pandoc.App.Opt

Methods

parseJSON :: Value -> Parser Opt

parseJSONList :: Value -> Parser [Opt]

ToJSON Opt Source # 
Instance details

Defined in Text.Pandoc.App.Opt

Methods

toJSON :: Opt -> Value

toEncoding :: Opt -> Encoding

toJSONList :: [Opt] -> Value

toEncodingList :: [Opt] -> Encoding

FromJSON (Opt -> Opt) Source # 
Instance details

Defined in Text.Pandoc.App.Opt

Methods

parseJSON :: Value -> Parser (Opt -> Opt)

parseJSONList :: Value -> Parser [Opt -> Opt]

type Rep Opt Source # 
Instance details

Defined in Text.Pandoc.App.Opt

type Rep Opt = D1 ('MetaData "Opt" "Text.Pandoc.App.Opt" "pandoc-3.0-inplace" 'False) (C1 ('MetaCons "Opt" 'PrefixI 'True) ((((((S1 ('MetaSel ('Just "optTabStop") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int) :*: S1 ('MetaSel ('Just "optPreserveTabs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)) :*: (S1 ('MetaSel ('Just "optStandalone") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "optFrom") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Text)))) :*: ((S1 ('MetaSel ('Just "optTo") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "optTableOfContents") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)) :*: (S1 ('MetaSel ('Just "optShiftHeadingLevelBy") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int) :*: (S1 ('MetaSel ('Just "optTemplate") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe FilePath)) :*: S1 ('MetaSel ('Just "optVariables") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Context Text)))))) :*: (((S1 ('MetaSel ('Just "optMetadata") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Meta) :*: S1 ('MetaSel ('Just "optMetadataFiles") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [FilePath])) :*: (S1 ('MetaSel ('Just "optOutputFile") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe FilePath)) :*: (S1 ('MetaSel ('Just "optInputFiles") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe [FilePath])) :*: S1 ('MetaSel ('Just "optNumberSections") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)))) :*: ((S1 ('MetaSel ('Just "optNumberOffset") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Int]) :*: S1 ('MetaSel ('Just "optSectionDivs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)) :*: (S1 ('MetaSel ('Just "optIncremental") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: (S1 ('MetaSel ('Just "optSelfContained") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "optEmbedResources") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)))))) :*: ((((S1 ('MetaSel ('Just "optHtmlQTags") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "optHighlightStyle") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Text))) :*: (S1 ('MetaSel ('Just "optSyntaxDefinitions") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [FilePath]) :*: S1 ('MetaSel ('Just "optTopLevelDivision") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TopLevelDivision))) :*: ((S1 ('MetaSel ('Just "optHTMLMathMethod") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 HTMLMathMethod) :*: S1 ('MetaSel ('Just "optAbbreviations") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe FilePath))) :*: (S1 ('MetaSel ('Just "optReferenceDoc") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe FilePath)) :*: (S1 ('MetaSel ('Just "optSplitLevel") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int) :*: S1 ('MetaSel ('Just "optEpubSubdirectory") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String))))) :*: (((S1 ('MetaSel ('Just "optEpubMetadata") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe FilePath)) :*: S1 ('MetaSel ('Just "optEpubFonts") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [FilePath])) :*: (S1 ('MetaSel ('Just "optEpubCoverImage") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe FilePath)) :*: (S1 ('MetaSel ('Just "optEpubTitlePage") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "optTOCDepth") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int)))) :*: ((S1 ('MetaSel ('Just "optDumpArgs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "optIgnoreArgs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)) :*: (S1 ('MetaSel ('Just "optVerbosity") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Verbosity) :*: (S1 ('MetaSel ('Just "optTrace") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "optLogFile") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe FilePath)))))))) :*: (((((S1 ('MetaSel ('Just "optFailIfWarnings") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "optReferenceLinks") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)) :*: (S1 ('MetaSel ('Just "optReferenceLocation") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ReferenceLocation) :*: S1 ('MetaSel ('Just "optDpi") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int))) :*: ((S1 ('MetaSel ('Just "optWrap") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 WrapOption) :*: S1 ('MetaSel ('Just "optColumns") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int)) :*: (S1 ('MetaSel ('Just "optFilters") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Filter]) :*: (S1 ('MetaSel ('Just "optEmailObfuscation") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ObfuscationMethod) :*: S1 ('MetaSel ('Just "optIdentifierPrefix") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text))))) :*: (((S1 ('MetaSel ('Just "optIndentedCodeClasses") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Text]) :*: S1 ('MetaSel ('Just "optDataDir") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe FilePath))) :*: (S1 ('MetaSel ('Just "optCiteMethod") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 CiteMethod) :*: (S1 ('MetaSel ('Just "optListings") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "optPdfEngine") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe String))))) :*: ((S1 ('MetaSel ('Just "optPdfEngineOpts") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [String]) :*: S1 ('MetaSel ('Just "optSlideLevel") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Int))) :*: (S1 ('MetaSel ('Just "optSetextHeaders") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: (S1 ('MetaSel ('Just "optListTables") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "optAscii") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)))))) :*: ((((S1 ('MetaSel ('Just "optDefaultImageExtension") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "optExtractMedia") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe FilePath))) :*: (S1 ('MetaSel ('Just "optTrackChanges") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TrackChanges) :*: S1 ('MetaSel ('Just "optFileScope") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool))) :*: ((S1 ('MetaSel ('Just "optTitlePrefix") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "optCss") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [FilePath])) :*: (S1 ('MetaSel ('Just "optIpynbOutput") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 IpynbOutput) :*: (S1 ('MetaSel ('Just "optIncludeBeforeBody") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [FilePath]) :*: S1 ('MetaSel ('Just "optIncludeAfterBody") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [FilePath]))))) :*: (((S1 ('MetaSel ('Just "optIncludeInHeader") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [FilePath]) :*: S1 ('MetaSel ('Just "optResourcePath") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [FilePath])) :*: (S1 ('MetaSel ('Just "optRequestHeaders") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [(Text, Text)]) :*: (S1 ('MetaSel ('Just "optNoCheckCertificate") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "optEol") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 LineEnding)))) :*: ((S1 ('MetaSel ('Just "optStripComments") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "optCSL") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe FilePath))) :*: (S1 ('MetaSel ('Just "optBibliography") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [FilePath]) :*: (S1 ('MetaSel ('Just "optCitationAbbreviations") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe FilePath)) :*: S1 ('MetaSel ('Just "optSandbox") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)))))))))

data OptInfo Source #

Option parser results requesting informational output.

Instances

Instances details
Generic OptInfo Source # 
Instance details

Defined in Text.Pandoc.App.Opt

Associated Types

type Rep OptInfo :: Type -> Type #

Methods

from :: OptInfo -> Rep OptInfo x #

to :: Rep OptInfo x -> OptInfo #

Show OptInfo Source # 
Instance details

Defined in Text.Pandoc.App.Opt

type Rep OptInfo Source # 
Instance details

Defined in Text.Pandoc.App.Opt

type Rep OptInfo = D1 ('MetaData "OptInfo" "Text.Pandoc.App.Opt" "pandoc-3.0-inplace" 'False) (((C1 ('MetaCons "BashCompletion" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "ListInputFormats" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ListOutputFormats" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "ListExtensions" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Text))) :+: (C1 ('MetaCons "ListHighlightLanguages" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ListHighlightStyles" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "PrintDefaultTemplate" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe FilePath)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)) :+: (C1 ('MetaCons "PrintDefaultDataFile" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe FilePath)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)) :+: C1 ('MetaCons "PrintHighlightStyle" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe FilePath)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))) :+: (C1 ('MetaCons "VersionInfo" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Help" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "OptError" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PandocError))))))

data LineEnding Source #

The type of line-endings to be used when writing plain-text.

Constructors

LF 
CRLF 
Native 

Instances

Instances details
Generic LineEnding Source # 
Instance details

Defined in Text.Pandoc.App.Opt

Associated Types

type Rep LineEnding :: Type -> Type #

Show LineEnding Source # 
Instance details

Defined in Text.Pandoc.App.Opt

FromJSON LineEnding Source # 
Instance details

Defined in Text.Pandoc.App.Opt

Methods

parseJSON :: Value -> Parser LineEnding

parseJSONList :: Value -> Parser [LineEnding]

ToJSON LineEnding Source # 
Instance details

Defined in Text.Pandoc.App.Opt

Methods

toJSON :: LineEnding -> Value

toEncoding :: LineEnding -> Encoding

toJSONList :: [LineEnding] -> Value

toEncodingList :: [LineEnding] -> Encoding

type Rep LineEnding Source # 
Instance details

Defined in Text.Pandoc.App.Opt

type Rep LineEnding = D1 ('MetaData "LineEnding" "Text.Pandoc.App.Opt" "pandoc-3.0-inplace" 'False) (C1 ('MetaCons "LF" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "CRLF" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Native" 'PrefixI 'False) (U1 :: Type -> Type)))

data IpynbOutput Source #

How to handle output blocks in ipynb.

Instances

Instances details
Generic IpynbOutput Source # 
Instance details

Defined in Text.Pandoc.App.Opt

Associated Types

type Rep IpynbOutput :: Type -> Type #

Show IpynbOutput Source # 
Instance details

Defined in Text.Pandoc.App.Opt

FromJSON IpynbOutput Source # 
Instance details

Defined in Text.Pandoc.App.Opt

Methods

parseJSON :: Value -> Parser IpynbOutput

parseJSONList :: Value -> Parser [IpynbOutput]

ToJSON IpynbOutput Source # 
Instance details

Defined in Text.Pandoc.App.Opt

Methods

toJSON :: IpynbOutput -> Value

toEncoding :: IpynbOutput -> Encoding

toJSONList :: [IpynbOutput] -> Value

toEncodingList :: [IpynbOutput] -> Encoding

type Rep IpynbOutput Source # 
Instance details

Defined in Text.Pandoc.App.Opt

type Rep IpynbOutput = D1 ('MetaData "IpynbOutput" "Text.Pandoc.App.Opt" "pandoc-3.0-inplace" 'False) (C1 ('MetaCons "IpynbOutputAll" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "IpynbOutputNone" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "IpynbOutputBest" 'PrefixI 'False) (U1 :: Type -> Type)))

data Filter Source #

Type of filter and path to filter file.

Instances

Instances details
Generic Filter Source # 
Instance details

Defined in Text.Pandoc.Filter

Associated Types

type Rep Filter :: Type -> Type #

Methods

from :: Filter -> Rep Filter x #

to :: Rep Filter x -> Filter #

Show Filter Source # 
Instance details

Defined in Text.Pandoc.Filter

FromJSON Filter Source # 
Instance details

Defined in Text.Pandoc.Filter

Methods

parseJSON :: Value -> Parser Filter

parseJSONList :: Value -> Parser [Filter]

ToJSON Filter Source # 
Instance details

Defined in Text.Pandoc.Filter

Methods

toJSON :: Filter -> Value

toEncoding :: Filter -> Encoding

toJSONList :: [Filter] -> Value

toEncodingList :: [Filter] -> Encoding

type Rep Filter Source # 
Instance details

Defined in Text.Pandoc.Filter

type Rep Filter = D1 ('MetaData "Filter" "Text.Pandoc.Filter" "pandoc-3.0-inplace" 'False) (C1 ('MetaCons "LuaFilter" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 FilePath)) :+: (C1 ('MetaCons "JSONFilter" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 FilePath)) :+: C1 ('MetaCons "CiteprocFilter" 'PrefixI 'False) (U1 :: Type -> Type)))

defaultOpts :: Opt Source #

Defaults for command-line options.

options :: [OptDescr (Opt -> ExceptT OptInfo IO Opt)] Source #

A list of functions, each transforming the options data structure in response to a command-line option.

applyFilters :: (PandocMonad m, MonadIO m) => ScriptingEngine -> Environment -> [Filter] -> [String] -> Pandoc -> m Pandoc Source #

Modify the given document using a filter.