|
| 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 |