|
Text.Pandoc.Shared | Portability | portable | Stability | alpha | Maintainer | John MacFarlane <jgm@berkeley.edu> |
|
|
|
|
|
Description |
Utility functions and definitions used by the various Pandoc modules.
|
|
Synopsis |
|
|
|
|
List processing
|
|
splitBy :: Eq a => a -> [a] -> [[a]] |
Split list by groups of one or more sep.
|
|
splitByIndices :: [Int] -> [a] -> [[a]] |
Split list 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
|
|
backslashEscapes |
:: [Char] | list of special characters to escape
| -> [(Char, String)] | | 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.
|
|
escapeURI :: String -> String |
Escape unicode characters in a URI. Characters that are
already valid in a URI, including % and ?, are left alone.
|
|
unescapeURI :: String -> String |
Unescape unicode and some special characters in a URI, but
without introducing spaces.
|
|
tabFilter |
:: Int | Tab stop
| -> String | Input
| -> String | | Convert tabs to spaces and filter out DOS line endings.
Tabs will be preserved if tab stop is set to 0.
|
|
|
Prettyprinting
|
|
wrapped :: Monad m => ([Inline] -> m Doc) -> [Inline] -> m Doc |
Wrap inlines to line length.
|
|
wrapIfNeeded :: Monad m => WriterOptions -> ([Inline] -> m Doc) -> [Inline] -> m Doc |
Wrap inlines if the text wrap option is selected.
|
|
wrappedTeX :: Monad m => Bool -> ([Inline] -> m Doc) -> [Inline] -> m Doc |
Wrap inlines to line length, treating footnotes in a way that
makes sense in LaTeX and ConTeXt.
|
|
wrapTeXIfNeeded :: Monad m => WriterOptions -> Bool -> ([Inline] -> m Doc) -> [Inline] -> m Doc |
Wrap inlines if the text wrap option is selected, specialized
for LaTeX and ConTeXt.
|
|
data BlockWrapper |
Indicates whether block should be surrounded by blank lines (Pad) or not (Reg).
| Constructors | |
|
|
wrappedBlocksToDoc :: [BlockWrapper] -> Doc |
Converts a list of wrapped blocks to a Doc, with appropriate spaces around blocks.
|
|
hang' :: Doc -> Int -> Doc -> Doc |
A version of hang that works like the version in pretty-1.0.0.0
|
|
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.
|
|
compactify |
:: [[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
| Constructors | | Instances | |
|
|
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 | | Instances | |
|
|
data ObfuscationMethod |
Methods for obfuscating email addresses in HTML.
| Constructors | NoObfuscation | | ReferenceObfuscation | | JavascriptObfuscation | |
| Instances | |
|
|
data HTMLSlideVariant |
Varieties of HTML slide shows.
| Constructors | S5Slides | | SlidySlides | | NoSlides | |
| Instances | |
|
|
data WriterOptions |
Options for writers
| Constructors | WriterOptions | | writerStandalone :: Bool | Include header and footer
| writerTemplate :: String | Template to use in standalone mode
| writerVariables :: [(String, String)] | Variables to set in template
| writerEPUBMetadata :: String | Metadata to include in EPUB
| writerTabStop :: Int | Tabstop for conversion btw spaces and tabs
| writerTableOfContents :: Bool | Include table of contents
| writerSlideVariant :: HTMLSlideVariant | Are we writing S5 or Slidy?
| writerIncremental :: Bool | True if lists should be incremental
| writerXeTeX :: Bool | Create latex suitable for use by xetex
| writerHTMLMathMethod :: HTMLMathMethod | How to print math in HTML
| writerIgnoreNotes :: Bool | Ignore footnotes (used in making toc)
| writerNumberSections :: Bool | Number sections in LaTeX
| writerSectionDivs :: Bool | Put sections in div tags in HTML
| writerStrictMarkdown :: Bool | Use strict markdown syntax
| writerReferenceLinks :: Bool | Use reference links in writing markdown, rst
| writerWrapText :: Bool | Wrap text to line length
| writerLiterateHaskell :: Bool | Write as literate haskell
| writerEmailObfuscation :: ObfuscationMethod | How to obfuscate emails
| writerIdentifierPrefix :: String | Prefix for section & note ids in HTML
| writerSourceDirectory :: FilePath | Directory path of 1st source file
| writerUserDataDir :: Maybe FilePath | Path of user data directory
|
|
| 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.
|
|
readDataFile :: Maybe FilePath -> FilePath -> IO String |
Read file from specified user data directory or, if not found there, from
Cabal data directory.
|
|
Produced by Haddock version 2.6.0 |