pandoc-1.8.0.1: Conversion between markup formats

Portabilityportable
Stabilityalpha
MaintainerJohn MacFarlane <jgm@berkeley.edu>

Text.Pandoc.Shared

Contents

Description

Utility functions and definitions used by the various Pandoc modules.

Synopsis

List processing

splitBy :: (a -> Bool) -> [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

backslashEscapesSource

Arguments

:: [Char]

list of special characters to escape

-> [(Char, String)] 

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.

tabFilterSource

Arguments

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

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 Spaces into singles, and remove empty Str elements.

normalize :: (Eq a, Data a) => a -> aSource

Normalize Pandoc document, consolidating doubled Spaces, combining adjacent Strs and Emphs, remove Nulls and empty elements, etc.

stringify :: [Inline] -> StringSource

Convert list of inlines to a string with formatting removed.

compactifySource

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 Source

Data structure for defining hierarchical Pandoc documents

Constructors

Blk Block 
Sec Int [Int] String [Inline] [Element] 

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

Varieties of HTML slide shows.

Constructors

S5Slides 
SlidySlides 
NoSlides 

data WriterOptions Source

Options for writers

Constructors

WriterOptions 

Fields

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

writerColumns :: Int

Characters in a line (for text wrapping)

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

writerCiteMethod :: CiteMethod

How to print cites

writerBiblioFiles :: [FilePath]

Biblio files to use for citations

writerHtml5 :: Bool

Produce HTML5

writerChapters :: Bool

Use chapter for top-level sects

writerListings :: Bool

Use listings package for code

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.

findDataFile :: Maybe FilePath -> FilePath -> IO FilePathSource

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 StringSource

Read file from specified user data directory or, if not found there, from Cabal data directory.