9fc5c8d7af
This brings pandoc's rendering of haddock markup in line with the new haddock. Note that we preserve line breaks in `@` code blocks, unlike the earlier version. Modified tests pass. More tests would be good.
65 lines
1.3 KiB
Text
65 lines
1.3 KiB
Text
This file tests the Pandoc reader for Haddock.
|
|
We've borrowed examples from Haddock's documentation: <http://www.haskell.org/haddock/doc/html/ch03s08.html>.
|
|
|
|
The following characters have special meanings in Haddock, \/, \', \`, \", \@, \<, so they must be escaped.
|
|
|
|
\* This is a paragraph, not a list item.
|
|
\> This sentence is not code.
|
|
\>\>\> This is not an example.
|
|
|
|
The references λ, λ and λ all represent the lower-case letter lambda.
|
|
|
|
This is a code block:
|
|
|
|
> map :: (a -> b) -> [a] -> [b]
|
|
> map _ [] = []
|
|
> map f (x:xs) = f x : map f xs
|
|
|
|
This is another code block:
|
|
|
|
@
|
|
f x = x + x.
|
|
The \@...\@ code block /interprets markup normally/.
|
|
"Module.Foo"
|
|
\"Hello World\"
|
|
@
|
|
|
|
Haddock supports REPL examples:
|
|
|
|
>>> fib 10
|
|
55
|
|
>>> putStrLn "foo\nbar"
|
|
foo
|
|
bar
|
|
|
|
That was /really cool/!
|
|
I had no idea @fib 10 = 55@.
|
|
|
|
This module defines the type 'T'.
|
|
The identifier 'M.T' is not in scope
|
|
I don't have to escape my apostrophes; great, isn't it?
|
|
This is a reference to the "Foo" module.
|
|
|
|
This is a bulleted list:
|
|
|
|
* first item
|
|
|
|
* second item
|
|
|
|
This is an enumerated list:
|
|
|
|
(1) first item
|
|
|
|
2. second item
|
|
|
|
This is a definition list:
|
|
|
|
[@foo@] The description of @foo@.
|
|
|
|
[@bar@] The description of @bar@.
|
|
|
|
Here is a link: <http://haskell.org>
|
|
|
|
<http://haskell.org Haskell> is a fun language!
|
|
|
|
<http://example.com Click Here!>
|