diff options
author | Mateusz Kowalczyk <fuuzetsu@fuuzetsu.co.uk> | 2013-09-08 01:28:57 +0100 |
---|---|---|
committer | Austin Seipp <austin@well-typed.com> | 2014-01-12 14:48:36 -0600 |
commit | a03c93524ba2ca4143c10770a2fa0dd134b57a83 (patch) | |
tree | 4ad5195b56ffcb92d9897b036e4c629fc7732fd3 /html-test | |
parent | 2aec8fdde55579b62f480c6b2a567bd5392fdff2 (diff) |
Allow for nesting of paragraphs under lists.
The nesting rules are similar to Markdown's with the exception that we
can not simply indent the first line of a hard wrapped indented
paragraph and have it treated as if it was fully indented. The reason is
differences in markup as some of our constructs care about whitespace
while others just swallow everything up so it's just a lot easier to not
bother with it rather than making arbitrary rules.
Note that we now drop trailing for string entities inside of lists. They
weren't needed and it makes the output look uniform whether we use a
single or double newline between list elements.
Conflicts:
src/Haddock/Parser.hs
test/Haddock/ParserSpec.hs
Diffstat (limited to 'html-test')
-rw-r--r-- | html-test/ref/Bold.html | 6 | ||||
-rw-r--r-- | html-test/ref/DeprecatedReExport.html | 3 | ||||
-rw-r--r-- | html-test/ref/Nesting.html | 288 | ||||
-rw-r--r-- | html-test/ref/PruneWithWarning.html | 3 | ||||
-rw-r--r-- | html-test/ref/Test.html | 18 | ||||
-rw-r--r-- | html-test/src/Nesting.hs | 115 |
6 files changed, 413 insertions, 20 deletions
diff --git a/html-test/ref/Bold.html b/html-test/ref/Bold.html index 4d5f559a..f6bdbd5e 100644 --- a/html-test/ref/Bold.html +++ b/html-test/ref/Bold.html @@ -68,8 +68,7 @@ window.onload = function () {pageLoad();setSynopsis("mini_Bold.html");}; ><li ><strong >Bold</strong - > in a list -</li + > in a list</li ></ul ><dl ><dt @@ -77,8 +76,7 @@ window.onload = function () {pageLoad();setSynopsis("mini_Bold.html");}; >bold in a definition</strong ></dt ><dd - >list -</dd + >list</dd ></dl ><pre > bold <strong diff --git a/html-test/ref/DeprecatedReExport.html b/html-test/ref/DeprecatedReExport.html index 99b797d0..bf35ab64 100644 --- a/html-test/ref/DeprecatedReExport.html +++ b/html-test/ref/DeprecatedReExport.html @@ -63,8 +63,7 @@ window.onload = function () {pageLoad();setSynopsis("mini_DeprecatedReExport.htm >What is tested here:</p ><ul ><li - >Deprecation messages are shown for re-exported items. -</li + >Deprecation messages are shown for re-exported items.</li ></ul ></div ></div diff --git a/html-test/ref/Nesting.html b/html-test/ref/Nesting.html new file mode 100644 index 00000000..0d692791 --- /dev/null +++ b/html-test/ref/Nesting.html @@ -0,0 +1,288 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" +><head + ><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" + /><title + >Nesting</title + ><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" + /><script src="haddock-util.js" type="text/javascript" + ></script + ><script type="text/javascript" + >//<![CDATA[ +window.onload = function () {pageLoad();setSynopsis("mini_Nesting.html");}; +//]]> +</script + ></head + ><body + ><div id="package-header" + ><ul class="links" id="page-menu" + ><li + ><a href="" + >Contents</a + ></li + ><li + ><a href="" + >Index</a + ></li + ></ul + ><p class="caption empty" + > </p + ></div + ><div id="content" + ><div id="module-header" + ><table class="info" + ><tr + ><th + >Safe Haskell</th + ><td + >Safe-Inferred</td + ></tr + ></table + ><p class="caption" + >Nesting</p + ></div + ><div id="synopsis" + ><p id="control.syn" class="caption expander" onclick="toggleSection('syn')" + >Synopsis</p + ><ul id="section.syn" class="hide" onclick="toggleSection('syn')" + ><li class="src short" + ><a href="" + >d</a + > :: t</li + ><li class="src short" + ><a href="" + >e</a + > :: t</li + ><li class="src short" + ><a href="" + >f</a + > :: t</li + ><li class="src short" + ><a href="" + >g</a + > :: t</li + ><li class="src short" + ><a href="" + >h</a + > :: t</li + ><li class="src short" + ><a href="" + >i</a + > :: t</li + ><li class="src short" + ><a href="" + >j</a + > :: t</li + ></ul + ></div + ><div id="interface" + ><h1 + >Documentation</h1 + ><div class="top" + ><p class="src" + ><a name="v:d" class="def" + >d</a + > :: t</p + ><div class="doc" + ><ul + ><li + >We can<ul + ><li + >easily go back<ol + ><li + >some indentation</li + ></ol + ></li + ><li + >levels</li + ></ul + ></li + ></ul + ><ol + ><li + ><pre + >back at the top</pre + ></li + ></ol + ></div + ></div + ><div class="top" + ><p class="src" + ><a name="v:e" class="def" + >e</a + > :: t</p + ><div class="doc" + ><ul + ><li + >Beginning of list<ul + ><li + >second list</li + ></ul + ></li + ><li + >Some indented list but +the presence of this text pushes it out of nesting back to the top.</li + ></ul + ></div + ></div + ><div class="top" + ><p class="src" + ><a name="v:f" class="def" + >f</a + > :: t</p + ><div class="doc" + ><ul + ><li + >Beginning of list<pre + >nested code + we preserve the space correctly +</pre + ></li + ></ul + ></div + ></div + ><div class="top" + ><p class="src" + ><a name="v:g" class="def" + >g</a + > :: t</p + ><div class="doc" + ><ul + ><li + >Beginning of list<ul + ><li + >Nested list</li + ></ul + ></li + ></ul + ></div + ></div + ><div class="top" + ><p class="src" + ><a name="v:h" class="def" + >h</a + > :: t</p + ><div class="doc" + ><ul + ><li + >Beginning of list<pre + > nested + bird + tracks</pre + ></li + ></ul + ></div + ></div + ><div class="top" + ><p class="src" + ><a name="v:i" class="def" + >i</a + > :: t</p + ><div class="doc" + ><ul + ><li + >Beginning of list +This belongs to the list above!<pre + > nested + bird + tracks</pre + ><ul + ><li + >Next list +More of the indented list.<ul + ><li + >Deeper<ul + ><li + >Deeper<ul + ><li + >Even deeper!</li + ><li + >No newline separation even in indented lists.</li + ></ul + ></li + ></ul + ></li + ></ul + ></li + ></ul + ></li + ></ul + ></div + ></div + ><div class="top" + ><p class="src" + ><a name="v:j" class="def" + >j</a + > :: t</p + ><div class="doc" + ><dl + ><dt + >All this</dt + ><dd + >Works for +definition lists too.<pre + > nested + bird + tracks</pre + ><ul + ><li + >Next list +with more of the indented list content.<p + >Even more content on a new line.</p + ><ol + ><li + >Different type of list<ol + ><li + >Deeper</li + ></ol + ><pre class="screen" + ><code class="prompt" + >>>> </code + ><strong class="userinput" + ><code + >Here's an example in a list +</code + ></strong + >example result +</pre + ><dl + ><dt + >b</dt + ><dd + >Even deeper!</dd + ><dt + >c</dt + ><dd + >No newline separation even in indented lists. + We can have any paragraph level element that we normally + can, like headers<p + ><h3 + >Level 3 header</h3 + ></p + ><p + >with some content…</p + ><ul + ><li + >and even more lists inside</li + ></ul + ></dd + ></dl + ></li + ></ol + ></li + ></ul + ></dd + ></dl + ></div + ></div + ></div + ></div + ><div id="footer" + ><p + >Produced by <a href="" + >Haddock</a + > version 2.14.0</p + ></div + ></body + ></html +> diff --git a/html-test/ref/PruneWithWarning.html b/html-test/ref/PruneWithWarning.html index 837c28b4..4fba05b6 100644 --- a/html-test/ref/PruneWithWarning.html +++ b/html-test/ref/PruneWithWarning.html @@ -52,8 +52,7 @@ window.onload = function () {pageLoad();setSynopsis("mini_PruneWithWarning.html" >If a binding has a deprecation message but no documentation, it is pruned when <code >OPTIONS_HADDOCK prune</code - > is used. -</li + > is used.</li ></ul ></div ></div diff --git a/html-test/ref/Test.html b/html-test/ref/Test.html index 2a3ae350..b54b3a05 100644 --- a/html-test/ref/Test.html +++ b/html-test/ref/Test.html @@ -1632,31 +1632,25 @@ using double quotes: <a href="" >.</p ><ul ><li - >This is a bulleted list -</li + >This is a bulleted list</li ><li - >This is the next item (different kind of bullet) -</li + >This is the next item (different kind of bullet)</li ></ul ><ol ><li - >This is an ordered list -</li + >This is an ordered list</li ><li - >This is the next item (different kind of bullet) -</li + >This is the next item (different kind of bullet)</li ></ol ><dl ><dt >cat</dt ><dd - >a small, furry, domesticated mammal -</dd + >a small, furry, domesticated mammal</dd ><dt >pineapple</dt ><dd - >a fruit grown in the tropics -</dd + >a fruit grown in the tropics</dd ></dl ><pre > This is a block of code, which can include other markup: <code diff --git a/html-test/src/Nesting.hs b/html-test/src/Nesting.hs new file mode 100644 index 00000000..5ab27ec0 --- /dev/null +++ b/html-test/src/Nesting.hs @@ -0,0 +1,115 @@ +module Nesting where + +{-| +* We can + + * easily go back + + 1. some indentation + + * levels + +1. @back at the top@ + +-} +d :: t +d = undefined + + +{-| +* Beginning of list + + * second list + + * Some indented list but +the presence of this text pushes it out of nesting back to the top. +-} +e :: t +e = undefined + + +{-| +* Beginning of list + + @ + nested code + we preserve the space correctly + @ +-} +f :: t +f = undefined + + +{-| +* Beginning of list + + * Nested list +-} +g :: t +g = undefined + +{-| +* Beginning of list + + > nested + > bird + > tracks +-} +h :: t +h = undefined + +{-| +* Beginning of list +This belongs to the list above! + + > nested + > bird + > tracks + + * Next list + More of the indented list. + + * Deeper + + * Deeper + + * Even deeper! + * No newline separation even in indented lists. +-} +i :: t +i = undefined + + + +{-| +[All this] Works for +definition lists too. + + > nested + > bird + > tracks + + * Next list + with more of the indented list content. + + Even more content on a new line. + + 1. Different type of list + + (2) Deeper + + >>> Here's an example in a list + example result + + [b] Even deeper! + [c] No newline separation even in indented lists. + We can have any paragraph level element that we normally + can, like headers + + === Level 3 header + with some content… + + * and even more lists inside +-} +j :: t +j = undefined |