pandoc-1.8.1.1: Conversion between markup formatsSource codeContentsIndex
Text.Pandoc.Shared
Portabilityportable
Stabilityalpha
MaintainerJohn MacFarlane <jgm@berkeley.edu>
Contents
List processing
Text processing
Pandoc block and inline list processing
Writer options
File handling
Description
Utility functions and definitions used by the various Pandoc modules.
Synopsis
splitBy :: (a -> Bool) -> [a] -> [[a]]
splitByIndices :: [Int] -> [a] -> [[a]]
substitute :: Eq a => [a] -> [a] -> [a] -> [a]
backslashEscapes :: [Char] -> [(Char, String)]
escapeStringUsing :: [(Char, String)] -> String -> String
stripTrailingNewlines :: String -> String
removeLeadingTrailingSpace :: String -> String
removeLeadingSpace :: String -> String
removeTrailingSpace :: String -> String
stripFirstAndLast :: String -> String
camelCaseToHyphenated :: String -> String
toRomanNumeral :: Int -> String
escapeURI :: String -> String
unescapeURI :: String -> String
tabFilter :: Int -> String -> String
orderedListMarkers :: (Int, ListNumberStyle, ListNumberDelim) -> [String]
normalizeSpaces :: [Inline] -> [Inline]
normalize :: (Eq a, Data a) => a -> a
stringify :: [Inline] -> String
compactify :: [[Block]] -> [[Block]]
data Element
= Blk Block
| Sec Int [Int] String [Inline] [Element]
hierarchicalize :: [Block] -> [Element]
uniqueIdent :: [Inline] -> [String] -> String
isHeaderBlock :: Block -> Bool
headerShift :: Int -> Pandoc -> Pandoc
data HTMLMathMethod
= PlainMath
| LaTeXMathML (Maybe String)
| JsMath (Maybe String)
| GladTeX
| WebTeX String
| MathML (Maybe String)
| MathJax String
data CiteMethod
= Citeproc
| Natbib
| Biblatex
data ObfuscationMethod
= NoObfuscation
| ReferenceObfuscation
| JavascriptObfuscation
data HTMLSlideVariant
= S5Slides
| SlidySlides
| NoSlides
data WriterOptions = WriterOptions {
writerStandalone :: Bool
writerTemplate :: String
writerVariables :: [(String, String)]
writerEPUBMetadata :: String
writerTabStop :: Int
writerTableOfContents :: Bool
writerSlideVariant :: HTMLSlideVariant
writerIncremental :: Bool
writerXeTeX :: Bool
writerHTMLMathMethod :: HTMLMathMethod
writerIgnoreNotes :: Bool
writerNumberSections :: Bool
writerSectionDivs :: Bool
writerStrictMarkdown :: Bool
writerReferenceLinks :: Bool
writerWrapText :: Bool
writerColumns :: Int
writerLiterateHaskell :: Bool
writerEmailObfuscation :: ObfuscationMethod
writerIdentifierPrefix :: String
writerSourceDirectory :: FilePath
writerUserDataDir :: Maybe FilePath
writerCiteMethod :: CiteMethod
writerBiblioFiles :: [FilePath]
writerHtml5 :: Bool
writerChapters :: Bool
writerListings :: Bool
writerAscii :: Bool
}
defaultWriterOptions :: WriterOptions
inDirectory :: FilePath -> IO a -> IO a
findDataFile :: Maybe FilePath -> FilePath -> IO FilePath
readDataFile :: Maybe FilePath -> FilePath -> IO String
List processing
splitBy :: (a -> Bool) -> [a] -> [[a]]Source
Split list by groups of one or more sep.
splitByIndices :: [Int] -> [a] -> [[a]]Source
Split list into chunks divided at specified indices.
substitute :: Eq a => [a] -> [a] -> [a] -> [a]Source
Replace each occurrence of one sublist in a list with another.
Text processing
backslashEscapesSource
:: [Char]list of special characters to escape
-> [(Char, String)]
Returns an association list of backslash escapes for the designated characters.
escapeStringUsing :: [(Char, String)] -> String -> StringSource
Escape a string of characters, using an association list of characters and strings.
stripTrailingNewlines :: String -> StringSource
Strip trailing newlines from string.
removeLeadingTrailingSpace :: String -> StringSource
Remove leading and trailing space (including newlines) from string.
removeLeadingSpace :: String -> StringSource
Remove leading space (including newlines) from string.
removeTrailingSpace :: String -> StringSource
Remove trailing space (including newlines) from string.
stripFirstAndLast :: String -> StringSource
Strip leading and trailing characters from string
camelCaseToHyphenated :: String -> StringSource
Change CamelCase word to hyphenated lowercase (e.g., camel-case).
toRomanNumeral :: Int -> StringSource
Convert number < 4000 to uppercase roman numeral.
escapeURI :: String -> StringSource
Escape unicode characters in a URI. Characters that are already valid in a URI, including % and ?, are left alone.
unescapeURI :: String -> StringSource
Unescape unicode and some special characters in a URI, but without introducing spaces.
tabFilterSource
:: IntTab stop
-> StringInput
-> String
Convert tabs to spaces and filter out DOS line endings. Tabs will be preserved if tab stop is set to 0.
Pandoc block and inline list processing
orderedListMarkers :: (Int, ListNumberStyle, ListNumberDelim) -> [String]Source
Generate infinite lazy list of markers for an ordered list, depending on list attributes.
normalizeSpaces :: [Inline] -> [Inline]Source
Normalize a list of inline elements: remove leading and trailing Space elements, collapse double Spaces into singles, and remove empty Str elements.
normalize :: (Eq a, Data a) => a -> aSource
Normalize Pandoc document, consolidating doubled Spaces, combining adjacent Strs and Emphs, remove Nulls and empty elements, etc.
stringify :: [Inline] -> StringSource
Convert list of inlines to a string with formatting removed.
compactifySource
:: [[Block]]List of list items (each a list of blocks)
-> [[Block]]
Change final list item from Para to Plain if the list contains no other Para blocks.
data Element Source
Data structure for defining hierarchical Pandoc documents
Constructors
Blk Block
Sec Int [Int] String [Inline] [Element]
show/hide Instances
hierarchicalize :: [Block] -> [Element]Source
Convert list of Pandoc blocks into (hierarchical) list of Elements
uniqueIdent :: [Inline] -> [String] -> StringSource
Generate a unique identifier from a list of inlines. Second argument is a list of already used identifiers.
isHeaderBlock :: Block -> BoolSource
True if block is a Header block.
headerShift :: Int -> Pandoc -> PandocSource
Shift header levels up or down.
Writer options
data HTMLMathMethod Source
Constructors
PlainMath
LaTeXMathML (Maybe String)
JsMath (Maybe String)
GladTeX
WebTeX String
MathML (Maybe String)
MathJax String
show/hide Instances
data CiteMethod Source
Constructors
Citeproc
Natbib
Biblatex
show/hide Instances
data ObfuscationMethod Source
Methods for obfuscating email addresses in HTML.
Constructors
NoObfuscation
ReferenceObfuscation
JavascriptObfuscation
show/hide Instances
data HTMLSlideVariant Source
Varieties of HTML slide shows.
Constructors
S5Slides
SlidySlides
NoSlides
show/hide Instances
data WriterOptions Source
Options for writers
Constructors
WriterOptions
writerStandalone :: BoolInclude header and footer
writerTemplate :: StringTemplate to use in standalone mode
writerVariables :: [(String, String)]Variables to set in template
writerEPUBMetadata :: StringMetadata to include in EPUB
writerTabStop :: IntTabstop for conversion btw spaces and tabs
writerTableOfContents :: BoolInclude table of contents
writerSlideVariant :: HTMLSlideVariantAre we writing S5 or Slidy?
writerIncremental :: BoolTrue if lists should be incremental
writerXeTeX :: BoolCreate latex suitable for use by xetex
writerHTMLMathMethod :: HTMLMathMethodHow to print math in HTML
writerIgnoreNotes :: BoolIgnore footnotes (used in making toc)
writerNumberSections :: BoolNumber sections in LaTeX
writerSectionDivs :: BoolPut sections in div tags in HTML
writerStrictMarkdown :: BoolUse strict markdown syntax
writerReferenceLinks :: BoolUse reference links in writing markdown, rst
writerWrapText :: BoolWrap text to line length
writerColumns :: IntCharacters in a line (for text wrapping)
writerLiterateHaskell :: BoolWrite as literate haskell
writerEmailObfuscation :: ObfuscationMethodHow to obfuscate emails
writerIdentifierPrefix :: StringPrefix for section & note ids in HTML
writerSourceDirectory :: FilePathDirectory path of 1st source file
writerUserDataDir :: Maybe FilePathPath of user data directory
writerCiteMethod :: CiteMethodHow to print cites
writerBiblioFiles :: [FilePath]Biblio files to use for citations
writerHtml5 :: BoolProduce HTML5
writerChapters :: BoolUse chapter for top-level sects
writerListings :: BoolUse listings package for code
writerAscii :: BoolAvoid non-ascii characters
show/hide Instances
defaultWriterOptions :: WriterOptionsSource
Default writer options.
File handling
inDirectory :: FilePath -> IO a -> IO aSource
Perform an IO action in a directory, returning to starting directory.
findDataFile :: Maybe FilePath -> FilePath -> IO FilePathSource
Get file path for data file, either from specified user data directory, or, if not found there, from Cabal data directory.
readDataFile :: Maybe FilePath -> FilePath -> IO StringSource
Read file from specified user data directory or, if not found there, from Cabal data directory.
Produced by Haddock version 2.6.1