| Safe Haskell | None |
|---|
Text.Discount
Contents
Description
This module is a thin wrapper around the discount
Markdown-processing library, by David Parsons
http://www.pell.portland.or.us/~orc/Code/discount/. It exposes
options that can be passed to the parser, as well as ByteString
and Text interfaces to the parser itself.
- data DiscountOption
- parseMarkdown :: [DiscountOption] -> ByteString -> ByteString
- parseMarkdownUtf8 :: [DiscountOption] -> Text -> Text
- noLinks :: DiscountOption
- noImages :: DiscountOption
- noSmartyPants :: DiscountOption
- noHtml :: DiscountOption
- strict :: DiscountOption
- noPseudoProtocols :: DiscountOption
- noSuperscripts :: DiscountOption
- noRelaxedEmphasis :: DiscountOption
- noTables :: DiscountOption
- noStrikethrough :: DiscountOption
- noHeaders :: DiscountOption
- noDivQuotes :: DiscountOption
- noAlphaLists :: DiscountOption
- noDefinitionLists :: DiscountOption
- tagText :: DiscountOption
- safeLinks :: DiscountOption
- tabStop :: DiscountOption
- footnotes :: DiscountOption
- compatOptions :: [DiscountOption]
Documentation
Parser interface
parseMarkdown :: [DiscountOption] -> ByteString -> ByteStringSource
Convert the ByteString String input into well-formed HTML
output. Note that an empty set of flags will not enable strict
markdown behavior; instead, use compatOptions, which will cause
discount to pass the markdown tests.
parseMarkdownUtf8 :: [DiscountOption] -> Text -> TextSource
As parseMarkdown, but taking Text values instead. Uses UTF-8 internally.
Parser options
noLinks :: DiscountOptionSource
Disables processing of links. Note that this will produce invalid HTML due to a bug in discount!
noImages :: DiscountOptionSource
Disables image processing. Note that this will produce invalid HTML due to a bug in discount!
noSmartyPants :: DiscountOptionSource
Disables SmartyPants processing. SmartyPants replaces quotes with
curly quotes (except in code blocks), replaces (tm), (r), and
(c) with the relevant symbols, and replaces ellipses and
em/en-dashes with the appropriate symbols.
noHtml :: DiscountOptionSource
Disables raw HTML. Note that this will produce invalid HTML due to a bug in discount!
strict :: DiscountOptionSource
Disables both superscript and relaxed emphasis (see noRelaxedEmphasis).
noPseudoProtocols :: DiscountOptionSource
Disable pseudoprotocol wrapping. If this is not enabled, then
links of the form [foo bar](class:glarch) will be replaced by
<span class="glarch">foo bar</span>, and similarly for
abbr:desc (uses <abbr title="desc">) and id:name (uses <a
id="name">)
noSuperscripts :: DiscountOptionSource
Disables converstion of A^B into A<sup>B</sup>.
noRelaxedEmphasis :: DiscountOptionSource
Disables relaxed emphasis, allowing underscores to indicate
emphasis in the middle of a word. With relaxed emphasis on
(i.e. without this option) foo_bar_ will parse as
foo_bar_. With it off, it parses as foo<em>bar</em>.
noTables :: DiscountOptionSource
Disables PHP Markdown Extra-style tables. See the documentation on PHP Markdown Extra at http://michelf.com/projects/php-markdown/extra/#table.
noStrikethrough :: DiscountOptionSource
Disables ~~strikethrough~~.
noHeaders :: DiscountOptionSource
Disables Pandoc-style header processing. This does not disable headers like
This ==== # or this
noDivQuotes :: DiscountOptionSource
Disables div-style quotes. Div-style quotes translates
> %class% > foo
as <div class="class">foo</div>.
noAlphaLists :: DiscountOptionSource
Disables alphanumeric-ordered lists.
noDefinitionLists :: DiscountOptionSource
Disables definition lists.
tagText :: DiscountOptionSource
Process Markdown even inside an HTML tag.
safeLinks :: DiscountOptionSource
Only allow links that are local or that point to http, https,
news, or ftp schemes.
tabStop :: DiscountOptionSource
Expand tabs to 4 spaces.
footnotes :: DiscountOptionSource
Enable Markdown Extra style footnotes. See http://michelf.com/projects/php-markdown/extra/#footnotes. For example:
Here's some text with a footnote.[^1] [^1]: Here's a footnote with some text.
Footnotes have backlinks to their parent.
compatOptions :: [DiscountOption]Source
Disables all discount features not in the original Markdown spec: SmartyPants, relaxed emphasis, pseudo-protocols, strikethrough, headers, alphabetical lists, definition lists, superscripts, and tables.