Portability | portable |
---|---|
Stability | alpha |
Maintainer | John MacFarlane <[email protected]> |
Text.Pandoc.Shared
Contents
Description
Utility functions and definitions used by the various Pandoc modules.
- 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
- hierarchicalize :: [Block] -> [Element]
- uniqueIdent :: [Inline] -> [String] -> String
- isHeaderBlock :: Block -> Bool
- headerShift :: Int -> Pandoc -> Pandoc
- data HTMLMathMethod
- data CiteMethod
- data ObfuscationMethod
- 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
- defaultWriterOptions :: WriterOptions
- inDirectory :: FilePath -> IO a -> IO a
- findDataFile :: Maybe FilePath -> FilePath -> IO FilePath
- readDataFile :: Maybe FilePath -> FilePath -> IO String
List processing
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
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.
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 Space
s into singles, and
remove empty Str elements.
Change final list item from Para
to Plain
if the list contains
no other Para
blocks.
Data structure for defining hierarchical Pandoc documents
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 |
Instances
data CiteMethod Source
Instances
data ObfuscationMethod Source
Methods for obfuscating email addresses in HTML.
Constructors
NoObfuscation | |
ReferenceObfuscation | |
JavascriptObfuscation |
data HTMLSlideVariant Source
Varieties of HTML slide shows.
Constructors
S5Slides | |
SlidySlides | |
NoSlides |
data WriterOptions Source
Options for writers
Constructors
WriterOptions | |
Fields
|
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.