| Portability | portable |
|---|---|
| Stability | alpha |
| Maintainer | John MacFarlane <jgm@berkeley.edu> |
Text.Pandoc.Shared
Contents
Description
Utility functions and definitions used by the various Pandoc modules.
- splitBy :: (a -> Bool) -> [a] -> [[a]]
- splitByIndices :: [Int] -> [a] -> [[a]]
- splitStringByIndices :: [Int] -> [Char] -> [[Char]]
- 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
- tabFilter :: Int -> String -> String
- normalizeDate :: String -> Maybe String
- orderedListMarkers :: (Int, ListNumberStyle, ListNumberDelim) -> [String]
- normalizeSpaces :: [Inline] -> [Inline]
- normalize :: (Eq a, Data a) => a -> a
- stringify :: [Inline] -> String
- compactify :: [[Block]] -> [[Block]]
- data Element
- hierarchicalize :: [Block] -> [Element]
- uniqueIdent :: [Inline] -> [String] -> String
- isHeaderBlock :: Block -> Bool
- headerShift :: Int -> Pandoc -> Pandoc
- data HTMLMathMethod
- data CiteMethod
- data ObfuscationMethod
- data HTMLSlideVariant
- = S5Slides
- | SlidySlides
- | DZSlides
- | 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
- writerBeamer :: Bool
- writerSlideLevel :: Maybe Int
- writerChapters :: Bool
- writerListings :: Bool
- writerHighlight :: Bool
- writerHighlightStyle :: Style
- writerSetextHeaders :: Bool
- defaultWriterOptions :: WriterOptions
- inDirectory :: FilePath -> IO a -> IO a
- findDataFile :: Maybe FilePath -> FilePath -> IO FilePath
- readDataFile :: Maybe FilePath -> FilePath -> IO String
- err :: Int -> String -> IO a
- warn :: String -> IO ()
List processing
splitByIndices :: [Int] -> [a] -> [[a]]
splitStringByIndices :: [Int] -> [Char] -> [[Char]]
Split string into chunks divided at specified indices.
substitute :: Eq a => [a] -> [a] -> [a] -> [a]
Replace each occurrence of one sublist in a list with another.
Text processing
Returns an association list of backslash escapes for the designated characters.
escapeStringUsing :: [(Char, String)] -> String -> String
Escape a string of characters, using an association list of characters and strings.
stripTrailingNewlines :: String -> String
Strip trailing newlines from string.
removeLeadingTrailingSpace :: String -> String
Remove leading and trailing space (including newlines) from string.
removeLeadingSpace :: String -> String
Remove leading space (including newlines) from string.
removeTrailingSpace :: String -> String
Remove trailing space (including newlines) from string.
stripFirstAndLast :: String -> String
Strip leading and trailing characters from string
camelCaseToHyphenated :: String -> String
Change CamelCase word to hyphenated lowercase (e.g., camel-case).
toRomanNumeral :: Int -> String
Convert number < 4000 to uppercase roman numeral.
Convert tabs to spaces and filter out DOS line endings. Tabs will be preserved if tab stop is set to 0.
Date/time
normalizeDate :: String -> Maybe String
Parse a date and convert (if possible) to YYYY-MM-DD format.
Pandoc block and inline list processing
orderedListMarkers :: (Int, ListNumberStyle, ListNumberDelim) -> [String]
Generate infinite lazy list of markers for an ordered list, depending on list attributes.
normalizeSpaces :: [Inline] -> [Inline]
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 -> a
Normalize Pandoc document, consolidating doubled Spaces,
combining adjacent Strs and Emphs, remove Nulls and
empty elements, etc.
Arguments
| :: [[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
Data structure for defining hierarchical Pandoc documents
hierarchicalize :: [Block] -> [Element]
Convert list of Pandoc blocks into (hierarchical) list of Elements
uniqueIdent :: [Inline] -> [String] -> String
Generate a unique identifier from a list of inlines. Second argument is a list of already used identifiers.
isHeaderBlock :: Block -> Bool
True if block is a Header block.
headerShift :: Int -> Pandoc -> Pandoc
Shift header levels up or down.
Writer options
data HTMLMathMethod
Constructors
| PlainMath | |
| LaTeXMathML (Maybe String) | |
| JsMath (Maybe String) | |
| GladTeX | |
| WebTeX String | |
| MathML (Maybe String) | |
| MathJax String |
Instances
data CiteMethod
Instances
data ObfuscationMethod
Methods for obfuscating email addresses in HTML.
Constructors
| NoObfuscation | |
| ReferenceObfuscation | |
| JavascriptObfuscation |
data HTMLSlideVariant
Varieties of HTML slide shows.
Constructors
| S5Slides | |
| SlidySlides | |
| DZSlides | |
| NoSlides |
data WriterOptions
Options for writers
Constructors
| WriterOptions | |
Fields
| |
Instances
defaultWriterOptions :: WriterOptions
Default writer options.
File handling
inDirectory :: FilePath -> IO a -> IO a
Perform an IO action in a directory, returning to starting directory.
findDataFile :: Maybe FilePath -> FilePath -> IO FilePath
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 String
Read file from specified user data directory or, if not found there, from Cabal data directory.