blob: f27b941fe1960a18fe5e14232e29b9dcab14f76e [file] [log] [blame]
-----
Doxia Sink API
-----
Hervé Boutemy
-----
2010-05-08
-----
~~ Licensed to the Apache Software Foundation (ASF) under one
~~ or more contributor license agreements. See the NOTICE file
~~ distributed with this work for additional information
~~ regarding copyright ownership. The ASF licenses this file
~~ to you under the Apache License, Version 2.0 (the
~~ "License"); you may not use this file except in compliance
~~ with the License. You may obtain a copy of the License at
~~
~~ http://www.apache.org/licenses/LICENSE-2.0
~~
~~ Unless required by applicable law or agreed to in writing,
~~ software distributed under the License is distributed on an
~~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
~~ KIND, either express or implied. See the License for the
~~ specific language governing permissions and limitations
~~ under the License.
~~ NOTE: For help with the syntax of this file, see:
~~ http://maven.apache.org/doxia/references/apt-format.html
Doxia Sink API
The <Sink> interface is a generic markup language interface provided as a Java API.
It contains several methods that encapsulate common text syntax. A start tag is denoted by
<<<xxxx()>>> method and a end of tag by <<<xxxx_()>>> method.
For instance, you could do things like:
+--
sink.paragraph();
sink.text( "my text" );
sink.paragraph_();
+--
similar to this HTML markup:
+--
<p>my text</p>
+--
To find out more about the Sink API, you can read the
{{{./apidocs/org/apache/maven/doxia/sink/Sink.html}Javadoc}}.
* API Changes
With every Doxia release, a new <<<doxia-sink-api>>> artifact has been released even if the API itself didn't change.
Here is a summary of API changes:
*--------------+--------------------------+
|| <<doxia-sink-api version>> || <<change description>> ||
*--------------+--------------------------+
| 1.0-alpha-6 | added <<<org.apache.maven.doxia.sink.Sink>>> interface which supercedes <<<org.codehaus.doxia.sink.Sink>>> |
*--------------+--------------------------+
| 1.0-alpha-9 | added <<<org.apache.maven.doxia.sink.SinkFactory>>> interface |
*--------------+--------------------------+
| 1.1 | added <<<org.apache.maven.doxia.sink.SinkEventAttributes>>> interface and a dependency on <<<doxia-logging-api>>> |
*--------------+--------------------------+
Note that <<<doxia-sink-api 1.0>>> is equivalent to <<<doxia-sink-api 1.0-alpha-9>>>.
* Maven dependency
<<<doxia-sink-api>>> is included in every Maven 2 distribution. Decoupling has been done in Maven 3.
*--------------------+------------------------------+
|| <<Maven version>> || <<doxia-sink-api version>> ||
*--------------------+------------------------------+
| 2.0.x | 1.0 |
*--------------------+------------------------------+
| 2.1.x+ | 1.1 |
*--------------------+------------------------------+
| 3.0+ | <no more dependency> |
*--------------------+------------------------------+
Maven 2.0.8 is the first Maven 2.0.x version including <<<doxia-sink-api 1.0(-alpha-9)>>>.
To hide the difference between <<<doxia-sink-api 1.0-alpha-6>>> and <<<1.0>>> included in previous Maven 2.0.x versions,
<<<org.apache.maven.doxia.sink.SinkFactory>>> interface was copied into <<<maven-site-plugin 2.0-beta-6>>>.