Author: ltheussl Date: Tue Sep 25 13:26:12 2007 New Revision: 579369 URL: http://svn.apache.org/viewvc?rev=579369&view=rev Log: [DOXIA-152] Move anchor generation for section titles from xdoc parser to SiteRendererSink.
Modified: maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/sink/SiteRendererSink.java maven/doxia/doxia/trunk/doxia-modules/doxia-module-xdoc/src/main/java/org/apache/maven/doxia/module/xdoc/XdocParser.java Modified: maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/sink/SiteRendererSink.java URL: http://svn.apache.org/viewvc/maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/sink/SiteRendererSink.java?rev=579369&r1=579368&r2=579369&view=diff ============================================================================== --- maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/sink/SiteRendererSink.java (original) +++ maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/sink/SiteRendererSink.java Tue Sep 25 13:26:12 2007 @@ -21,13 +21,16 @@ import org.apache.maven.doxia.module.xhtml.XhtmlSink; import org.apache.maven.doxia.module.xhtml.decoration.render.RenderingContext; -import org.codehaus.doxia.sink.Sink; +import org.apache.maven.doxia.sink.Sink; +import org.apache.maven.doxia.util.HtmlTools; import java.io.StringWriter; import java.io.Writer; import java.util.ArrayList; import java.util.List; +import javax.swing.text.html.HTML.Tag; + /** * @author <a href="mailto:[EMAIL PROTECTED]>Emmanuel Venisse</a> * @version $Id$ @@ -151,4 +154,69 @@ { setHeadFlag( true ); } + + /** + * Sets the head flag to true so the title text is buffered until the closing tag. + */ + public void sectionTitle1() + { + setHeadFlag( true ); + } + + /** + * Writes out a sectionTitle1 block, including an anchor that is constructed from the + * buffered title text via [EMAIL PROTECTED] org.apache.maven.doxia.util.HtmlTools#encodeId(String)}. + */ + public void sectionTitle1_() + { + String sectionTitle = ""; + + if ( getBuffer().length() > 0 ) + { + sectionTitle = getBuffer().toString(); + } + + resetBuffer(); + + setHeadFlag( false ); + + writeStartTag( Tag.H2 ); + anchor( HtmlTools.encodeId( sectionTitle ) ); + anchor_(); + text( sectionTitle ); + writeEndTag( Tag.H2 ); + } + + /** + * Sets the head flag to true so the title text is buffered until the closing tag. + */ + public void sectionTitle2() + { + setHeadFlag( true ); + } + + /** + * Writes out a sectionTitle2 block, including an anchor that is constructed from the + * buffered title text via [EMAIL PROTECTED] org.apache.maven.doxia.util.HtmlTools#encodeId(String)}. + */ + public void sectionTitle2_() + { + String sectionTitle = ""; + + if ( getBuffer().length() > 0 ) + { + sectionTitle = getBuffer().toString(); + } + + resetBuffer(); + + setHeadFlag( false ); + + writeStartTag( Tag.H3 ); + anchor( HtmlTools.encodeId( sectionTitle ) ); + anchor_(); + text( sectionTitle ); + writeEndTag( Tag.H3 ); + } + } Modified: maven/doxia/doxia/trunk/doxia-modules/doxia-module-xdoc/src/main/java/org/apache/maven/doxia/module/xdoc/XdocParser.java URL: http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-modules/doxia-module-xdoc/src/main/java/org/apache/maven/doxia/module/xdoc/XdocParser.java?rev=579369&r1=579368&r2=579369&view=diff ============================================================================== --- maven/doxia/doxia/trunk/doxia-modules/doxia-module-xdoc/src/main/java/org/apache/maven/doxia/module/xdoc/XdocParser.java (original) +++ maven/doxia/doxia/trunk/doxia-modules/doxia-module-xdoc/src/main/java/org/apache/maven/doxia/module/xdoc/XdocParser.java Tue Sep 25 13:26:12 2007 @@ -136,10 +136,6 @@ sink.sectionTitle1(); - // TODO this should go into a sink? kept for compat for the moment - sink.anchor( HtmlTools.encodeId( parser.getAttributeValue( null, Attribute.NAME.toString() ) ) ); - sink.anchor_(); - sink.text( parser.getAttributeValue( null, Attribute.NAME.toString() ) ); sink.sectionTitle1_(); @@ -151,10 +147,6 @@ sink.section2(); sink.sectionTitle2(); - - // TODO this should go into a sink? kept for compat for the moment - sink.anchor( HtmlTools.encodeId( parser.getAttributeValue( null, Attribute.NAME.toString() ) ) ); - sink.anchor_(); sink.text( parser.getAttributeValue( null, Attribute.NAME.toString() ) );