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() ) );
 


Reply via email to