Index: src/test/java/org/apache/maven/doxia/module/confluence/ConfluenceParserTest.java =================================================================== --- src/test/java/org/apache/maven/doxia/module/confluence/ConfluenceParserTest.java (revision 754544) +++ src/test/java/org/apache/maven/doxia/module/confluence/ConfluenceParserTest.java (working copy) @@ -202,10 +202,10 @@ String result = locateAndParseTestSourceFile( "code" ); assertContainsLines( result, "begin:verbatim, boxed: true\ntext: public class Cat {" ); - // 3 paragraphs in the input... - assertEquals( 4, result.split( "end:paragraph\n" ).length ); - // 1 verbatim in the input... - assertEquals( 2, result.split( "end:verbatim\n" ).length ); + // 5 paragraphs in the input... + assertEquals( 5, result.split( "end:paragraph\n" ).length ); + // 3 verbatim in the input... + assertEquals( 3, result.split( "end:verbatim\n" ).length ); } /** @throws Exception */ Index: src/main/java/org/apache/maven/doxia/module/confluence/parser/ParagraphBlock.java =================================================================== --- src/main/java/org/apache/maven/doxia/module/confluence/parser/ParagraphBlock.java (revision 754544) +++ src/main/java/org/apache/maven/doxia/module/confluence/parser/ParagraphBlock.java (working copy) @@ -30,21 +30,31 @@ class ParagraphBlock extends AbstractFatherBlock { + + private boolean generateParagraphTags = true; + ParagraphBlock( List blocks ) throws IllegalArgumentException { super( blocks ); } + + ParagraphBlock(List blocks, boolean generateParagraphTags) throws IllegalArgumentException { + super(blocks); + this.generateParagraphTags = generateParagraphTags; + } /** {@inheritDoc} */ public void before( Sink sink ) { - sink.paragraph(); + if (this.generateParagraphTags) + sink.paragraph(); } /** {@inheritDoc} */ public void after( Sink sink ) { - sink.paragraph_(); + if (this.generateParagraphTags) + sink.paragraph_(); } } Index: src/main/java/org/apache/maven/doxia/module/confluence/parser/ParagraphBlockParser.java =================================================================== --- src/main/java/org/apache/maven/doxia/module/confluence/parser/ParagraphBlockParser.java (revision 754544) +++ src/main/java/org/apache/maven/doxia/module/confluence/parser/ParagraphBlockParser.java (working copy) @@ -49,6 +49,15 @@ return true; } + public Block visit(String line, ByLineSource source, boolean generateParagraphTags) throws ParseException { + if (generateParagraphTags) + return this.visit(line, source); + else { + ChildBlocksBuilder builder = new ChildBlocksBuilder(appendUntilEmptyLine(line, source)); + return new ParagraphBlock(builder.getBlocks(), generateParagraphTags); + } + } + /** {@inheritDoc} */ public Block visit( String line, ByLineSource source ) throws ParseException Index: src/main/java/org/apache/maven/doxia/module/confluence/ConfluenceParser.java =================================================================== --- src/main/java/org/apache/maven/doxia/module/confluence/ConfluenceParser.java (revision 754544) +++ src/main/java/org/apache/maven/doxia/module/confluence/ConfluenceParser.java (working copy) @@ -67,7 +67,7 @@ BlockParser listParser = new ListBlockParser(); BlockParser tableParser = new TableBlockParser(); - BlockParser[] subparsers = new BlockParser[] { headingParser, figureParser, listParser, tableParser }; + BlockParser[] subparsers = new BlockParser[] { headingParser, figureParser, listParser, tableParser, verbatimParser }; BlockParser paragraphParser = new ParagraphBlockParser( subparsers ); parsers =