|
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]] | 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
|
|
|
:: [Char] | list of special characters to escape
| -> [(Char, String)] | | Returns an association list of backslash escapes for the
designated characters.
|
|
|
|
Escape a string of characters, using an association list of
characters and strings.
|
|
|
Strip trailing newlines from string.
|
|
|
Remove leading and trailing space (including newlines) from string.
|
|
|
Remove leading space (including newlines) from string.
|
|
|
Remove trailing space (including newlines) from string.
|
|
|
Strip leading and trailing characters from string
|
|
|
Change CamelCase word to hyphenated lowercase (e.g., camel-case).
|
|
|
Convert number < 4000 to uppercase roman numeral.
|
|
|
Escape unicode characters in a URI. Characters that are
already valid in a URI, including % and ?, are left alone.
|
|
|
Unescape unicode and some special characters in a URI, but
without introducing spaces.
|
|
|
Wrap inlines to line length.
|
|
|
Wrap inlines if the text wrap option is selected.
|
|
|
Wrap inlines to line length, treating footnotes in a way that
makes sense in LaTeX and ConTeXt.
|
|
|
Wrap inlines if the text wrap option is selected, specialized
for LaTeX and ConTeXt.
|
|
|
Indicates whether block should be surrounded by blank lines (Pad) or not (Reg).
| Constructors | |
|
|
|
Converts a list of wrapped blocks to a Doc, with appropriate spaces around blocks.
|
|
|
:: 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.
|
|
|
Parsing
|
|
|
Like >>, but returns the operation on the left.
(Suggested by Tillmann Rendel on Haskell-cafe list.)
|
|
|
Parse any line of text
|
|
|
Like manyTill, but reads at least one item.
|
|
|
A more general form of notFollowedBy. This one allows any
type of parser to be specified, and succeeds only if that parser fails.
It does not consume any input.
|
|
|
Parses one of a list of strings (tried in order).
|
|
|
Parses a space or tab.
|
|
|
Skips zero or more spaces or tabs.
|
|
|
Skips zero or more spaces or tabs, then reads a newline.
|
|
|
Parses one or more blank lines and returns a string of newlines.
|
|
|
|
|
|
Parse string, case insensitive.
|
|
|
Parse contents of str using parser and return result.
|
|
|
Parse raw line block up to and including blank lines.
|
|
|
Parse a string of characters between an open character
and a close character, including text between balanced
pairs of open and close, which must be different. For example,
charsInBalanced '(' ')' will parse (hello (there))
and return hello (there). Stop if a blank line is
encountered.
|
|
|
Like charsInBalanced, but allow blank lines in the content.
|
|
|
:: Bool | Uppercase if true
| -> GenParser Char st Int | | Parses a roman numeral (uppercase or lowercase), returns number.
|
|
|
|
Parses an email address; returns original and corresponding
escaped mailto: URI.
|
|
|
Parses a URI. Returns pair of original and URI-escaped version.
|
|
|
:: GenParser Char st a | Parser to apply
| -> GenParser Char st (a, Int) | (result, displacement)
| Applies a parser, returns tuple of its results and its horizontal
displacement (the difference between the source column at the end
and the source column at the beginning). Vertical displacement
(source row) is ignored.
|
|
|
|
Parses a character and returns Null (so that the parser can move on
if it gets stuck).
|
|
|
Fail if reader is in strict markdown syntax mode.
|
|
|
Fail unless we're in literate haskell mode.
|
|
|
|
|
|
Parses an ordered list marker and returns list attributes.
|
|
|
Parses an ordered list marker with a given style and delimiter,
returns number.
|
|
|
Parses a character reference and returns a Str element.
|
|
|
|
|
|
Parse a string with parser (for testing).
|
|
|
Parsing options.
| Constructors | ParserState | | stateParseRaw :: Bool | Parse raw HTML and LaTeX?
| stateParserContext :: ParserContext | Inside list?
| stateQuoteContext :: QuoteContext | Inside quoted environment?
| stateSanitizeHTML :: Bool | Sanitize HTML?
| stateKeys :: KeyTable | List of reference keys
| stateNotes :: NoteTable | List of notes
| stateTabStop :: Int | Tab stop
| stateStandalone :: Bool | Parse bibliographic info?
| stateTitle :: [Inline] | Title of document
| stateAuthors :: [[Inline]] | Authors of document
| stateDate :: [Inline] | Date of document
| stateStrict :: Bool | Use strict markdown syntax?
| stateSmart :: Bool | Use smart typography?
| stateLiterateHaskell :: Bool | Treat input as literate haskell
| stateColumns :: Int | Number of columns in terminal
| stateHeaderTable :: [HeaderType] | Ordered list of header types used
| stateIndentedCodeClasses :: [String] | Classes to use for indented code blocks
|
|
|
|
|
|
|
|
Constructors | SingleHeader Char | Single line of characters underneath
| DoubleHeader Char | Lines of characters above and below
|
|
|
|
|
Constructors | ListItemState | Used when running parser on list item contents
| NullState | Default state
|
|
|
|
|
Constructors | InSingleQuote | Used when parsing inside single quotes
| InDoubleQuote | Used when parsing inside double quotes
| NoQuote | Used when not parsing inside quotes
|
|
|
|
|
|
|
|
|
|
|
|
Returns True if keys match (case insensitive).
|
|
Prettyprinting
|
|
|
A version of hang that works like the version in pretty-1.0.0.0
|
|
|
Prettyprint Pandoc document.
|
|
Pandoc block and inline list processing
|
|
|
Generate infinite lazy list of markers for an ordered list,
depending on list attributes.
|
|
|
Normalize a list of inline elements: remove leading and trailing
Space elements, collapse double Spaces into singles, and
remove empty Str elements.
|
|
|
:: [[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 structure for defining hierarchical Pandoc documents
| Constructors | |
|
|
|
Convert list of Pandoc blocks into (hierarchical) list of Elements
|
|
|
Generate a unique identifier from a list of inlines.
Second argument is a list of already used identifiers.
|
|
|
True if block is a Header block.
|
|
Writer options
|
|
|
|
|
|
Methods for obfuscating email addresses in HTML.
| Constructors | NoObfuscation | | ReferenceObfuscation | | JavascriptObfuscation | |
|
|
|
|
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
| writerIncludeBefore :: String | Text to include before the body
| writerIncludeAfter :: String | Text to include after the body
| writerTabStop :: Int | Tabstop for conversion btw spaces and tabs
| writerTableOfContents :: Bool | Include table of contents
| writerS5 :: Bool | We're writing S5
| 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)
| writerIncremental :: Bool | Incremental S5 lists
| writerNumberSections :: Bool | Number sections in LaTeX
| 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
|
|
|
|
|
|
Default writer options.
|
|
File handling
|
|
|
Perform an IO action in a directory, returning to starting directory.
|
|
|
Read file from specified user data directory or, if not found there, from
Cabal data directory.
|
|
Produced by Haddock version 2.6.1 |