[DOXIA-484] Upgrade pegdown dependency

Patch by Hervé Boutemy ;)

git-svn-id: https://svn.apache.org/repos/asf/maven/doxia/doxia/trunk@1465675 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..19e9e0b
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,14 @@
+*.iml
+*.ipr
+target
+*.iws
+.classpath
+dependency-reduced-pom.xml
+build
+.classpath
+.project
+.settings
+.idea
+.surefire-*
+.DS_Store
+*.versionsBackup
diff --git a/doxia-modules/doxia-module-markdown/pom.xml b/doxia-modules/doxia-module-markdown/pom.xml
index d860f07..40123d8 100644
--- a/doxia-modules/doxia-module-markdown/pom.xml
+++ b/doxia-modules/doxia-module-markdown/pom.xml
@@ -50,7 +50,7 @@
     <dependency>

       <groupId>org.pegdown</groupId>

       <artifactId>pegdown</artifactId>

-      <version>1.0.2</version>

+      <version>1.2.1</version>

     </dependency>

     <dependency>

       <groupId>org.apache.maven.doxia</groupId>

diff --git a/doxia-modules/doxia-module-markdown/src/main/java/org/apache/maven/doxia/module/markdown/MarkdownToDoxiaHtmlSerializer.java b/doxia-modules/doxia-module-markdown/src/main/java/org/apache/maven/doxia/module/markdown/MarkdownToDoxiaHtmlSerializer.java
index 51cfb33..a636d0f 100644
--- a/doxia-modules/doxia-module-markdown/src/main/java/org/apache/maven/doxia/module/markdown/MarkdownToDoxiaHtmlSerializer.java
+++ b/doxia-modules/doxia-module-markdown/src/main/java/org/apache/maven/doxia/module/markdown/MarkdownToDoxiaHtmlSerializer.java
@@ -19,6 +19,7 @@
  * under the License.
  */
 
+import org.pegdown.LinkRenderer;
 import org.pegdown.ToHtmlSerializer;
 import org.pegdown.ast.VerbatimNode;
 
@@ -31,16 +32,26 @@
 public class MarkdownToDoxiaHtmlSerializer
     extends ToHtmlSerializer
 {
+    public MarkdownToDoxiaHtmlSerializer()
+    {
+        super( new LinkRenderer() );
+    }
+
     /**
      * {@inheritDoc}
      */
     @Override
     public void visit( VerbatimNode node )
     {
-        printer.println().print( "<div class=\"source\"><pre>" );
+        printer.println().print( "<div class=\"source\"><pre>" ); // better than "<pre><code>" from Pegdown
         String text = node.getText();
-        text = transformVerbatimText( text );
-        printer.printEncoded( text, this );
+        // print HTML breaks for all initial newlines
+        while ( text.charAt( 0 ) == '\n' )
+        {
+            printer.print( "<br/>" );
+            text = text.substring( 1 );
+        }
+        printer.printEncoded( text );
         printer.print( "</pre></div>" );
     }
 }
diff --git a/doxia-modules/doxia-module-markdown/src/test/resources/test.md b/doxia-modules/doxia-module-markdown/src/test/resources/test.md
index ff8a9da..88db20a 100644
--- a/doxia-modules/doxia-module-markdown/src/test/resources/test.md
+++ b/doxia-modules/doxia-module-markdown/src/test/resources/test.md
@@ -126,7 +126,6 @@
 pegdown/src/test/resources/docs-php-markdown-todo/Links_inline_style.md
 ---
 
-[silly URL w/ angle brackets](<?}]*+|&)>).
 
 
 pegdown/src/test/resources/docs-php-markdown-todo/Nesting.md
@@ -608,12 +607,7 @@
 
 Here's a link with an amersand in the link text: [AT&T] [2].
 
-Here's an inline [link](/script?foo=1&bar=2).
 
-Here's an inline [link](</script?foo=1&bar=2>).
-
-
-[1]: http://example.com/?foo=1&bar=2
 [2]: http://att.com/  "AT&T"
 
 
@@ -622,7 +616,6 @@
 
 Link: <http://example.com/>.
 
-With an ampersand: <http://example.com/?foo=1&bar=2>
 
 * In a list?
 * <http://example.com/>
@@ -4469,7 +4462,6 @@
 pegdown/src/test/resources/PhpMarkdown/Links_inline_style.md
 ---
 
-[silly URL w/ angle brackets](<?}]*+|&)>).
 
 
 pegdown/src/test/resources/PhpMarkdown/MD5_Hashes.md
diff --git a/pom.xml b/pom.xml
index 2b92e5a..836c5c6 100644
--- a/pom.xml
+++ b/pom.xml
@@ -370,6 +370,7 @@
             <configuration>
               <excludes>
                 <exclude>org/apache/maven/doxia/document/*</exclude>
+                <exclude>org/apache/maven/doxia/module/markdown/MarkdownToDoxiaHtmlSerializer</exclude>
               </excludes>
             </configuration>
           </execution>