You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by ol...@apache.org on 2013/02/21 23:26:52 UTC
svn commit: r1448836 - in
/maven/doxia/doxia/trunk/doxia-modules/doxia-module-confluence/src:
main/java/org/apache/maven/doxia/module/confluence/parser/
test/java/org/apache/maven/doxia/module/confluence/ test/resources/
Author: olamy
Date: Thu Feb 21 22:26:52 2013
New Revision: 1448836
URL: http://svn.apache.org/r1448836
Log:
[DOXIA-466] confluence: can't create links to non-html resources (like .pdf of .xls files) because ".html" is always appended.
Submitted by Valters Vingolds.
Modified:
maven/doxia/doxia/trunk/doxia-modules/doxia-module-confluence/src/main/java/org/apache/maven/doxia/module/confluence/parser/ChildBlocksBuilder.java
maven/doxia/doxia/trunk/doxia-modules/doxia-module-confluence/src/test/java/org/apache/maven/doxia/module/confluence/ConfluenceParserTest.java
maven/doxia/doxia/trunk/doxia-modules/doxia-module-confluence/src/test/resources/link.confluence
Modified: maven/doxia/doxia/trunk/doxia-modules/doxia-module-confluence/src/main/java/org/apache/maven/doxia/module/confluence/parser/ChildBlocksBuilder.java
URL: http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-modules/doxia-module-confluence/src/main/java/org/apache/maven/doxia/module/confluence/parser/ChildBlocksBuilder.java?rev=1448836&r1=1448835&r2=1448836&view=diff
==============================================================================
--- maven/doxia/doxia/trunk/doxia-modules/doxia-module-confluence/src/main/java/org/apache/maven/doxia/module/confluence/parser/ChildBlocksBuilder.java (original)
+++ maven/doxia/doxia/trunk/doxia-modules/doxia-module-confluence/src/main/java/org/apache/maven/doxia/module/confluence/parser/ChildBlocksBuilder.java Thu Feb 21 22:26:52 2013
@@ -123,6 +123,13 @@ public class ChildBlocksBuilder
if ( link.contains( "|" ) )
{
String[] pieces = StringUtils.split( text.toString(), "|" );
+
+ if ( pieces[1].startsWith("^") )
+ {
+ // use the "file attachment" ^ syntax to force verbatim link: needed to allow actually linking to some non-html resources
+ pieces[1] = pieces[1].substring(1); // now just get rid of the lead ^
+ addHTMLSuffix = false; // force verbatim link to support attaching files/resources (not just .html files)
+ }
if ( addHTMLSuffix )
{
@@ -150,6 +157,13 @@ public class ChildBlocksBuilder
{
value = link.substring( 1 );
}
+ else if ( link.startsWith( "^" ) )
+ {
+ link = link.substring( 1 ); // chop off the lead ^ from link and from value
+ value = link;
+ addHTMLSuffix =
+ false; // force verbatim link to support attaching files/resources (not just .html files)
+ }
if ( addHTMLSuffix )
{
Modified: maven/doxia/doxia/trunk/doxia-modules/doxia-module-confluence/src/test/java/org/apache/maven/doxia/module/confluence/ConfluenceParserTest.java
URL: http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-modules/doxia-module-confluence/src/test/java/org/apache/maven/doxia/module/confluence/ConfluenceParserTest.java?rev=1448836&r1=1448835&r2=1448836&view=diff
==============================================================================
--- maven/doxia/doxia/trunk/doxia-modules/doxia-module-confluence/src/test/java/org/apache/maven/doxia/module/confluence/ConfluenceParserTest.java (original)
+++ maven/doxia/doxia/trunk/doxia-modules/doxia-module-confluence/src/test/java/org/apache/maven/doxia/module/confluence/ConfluenceParserTest.java Thu Feb 21 22:26:52 2013
@@ -272,10 +272,12 @@ public class ConfluenceParserTest
assertContainsLines( result, "begin:link, name: link.html\ntext: alias\nend:link" );
assertContainsLines( result, "begin:link, name: link.html#anchor\ntext: link#anchor\nend:link" );
assertContainsLines( result, "begin:link, name: #simple\ntext: simple\nend:link" );
- // 3 paragraphs in the input...
- assertEquals( 4, result.split( "end:paragraph\n" ).length );
- // 5 links in the input...
- assertEquals( 6, result.split( "end:link\n" ).length );
+ assertContainsLines( result, "begin:link, name: resource.pdf\ntext: resource.pdf\nend:link" );
+ assertContainsLines( result, "begin:link, name: resource.pdf\ntext: alias pdf\nend:link" );
+ // 5 paragraphs in the input...
+ assertEquals( 5, result.split( "end:paragraph\n" ).length );
+ // 8 links in the input...
+ assertEquals( 8, result.split( "end:link\n" ).length );
}
/** @throws Exception */
Modified: maven/doxia/doxia/trunk/doxia-modules/doxia-module-confluence/src/test/resources/link.confluence
URL: http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-modules/doxia-module-confluence/src/test/resources/link.confluence?rev=1448836&r1=1448835&r2=1448836&view=diff
==============================================================================
--- maven/doxia/doxia/trunk/doxia-modules/doxia-module-confluence/src/test/resources/link.confluence (original)
+++ maven/doxia/doxia/trunk/doxia-modules/doxia-module-confluence/src/test/resources/link.confluence Thu Feb 21 22:26:52 2013
@@ -2,4 +2,6 @@ Line with [middle] link
Line with link at the [end]
-Line with [link#anchor] and [#simple] anchor and [alias|link]
\ No newline at end of file
+Line with [link#anchor] and [#simple] anchor and [alias|link]
+
+Line with [^resource.pdf] file and with [alias pdf|^resource.pdf]