blob: f78dcad0c9fcb38ccb7ef96fe788d30acd1893fb [file] [log] [blame]
<?xml version="1.0"?>
<!--
Copyright 2002,2004 The Apache Software Foundation.
Licensed 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.
-->
<document>
<properties>
<title>A Guide To JellyDoc</title>
<author email="commons-dev@jakarta.apache.org">Jakarta Commons Development Team</author>
</properties>
<body>
<section name='Introduction'>
<subsection name="But What Is JellyDoc?">
<p>
<strong>JellyDoc</strong> generates documentation for <strong>Jelly</strong>
tag libraries from their javadoc. An example of JellyDoc generated content can be viewed
<a href='http://jakarta.apache.org/commons/jelly/libs/betwixt/tags.html'>here</a>.
</p>
</subsection>
<subsection name='So What Is The Document?'>
<p>
This document is a brief (and non-normative)
guide written by developers using JellyDoc to document their tag libraries and is
aimed at helping developers use JellyDoc. Please help to improve this resource
by <a href='http://jakarta.apache.org/commons/patches.html'>contributing patches</a>.
</p>
<p>
<strong>Note</strong> that this document is based on the maven build script used by
the Jakarta Commons Jelly build. Details may vary for other builds.
</p>
</subsection>
</section>
<section name='An Anatomy Of A Tag Library Description'>
<p>
The content generated by JellyDoc can be divided into different sections. These sections
are then arranged into the document presented to the user. Understanding where each
of these sections comes from is key to writing javadocs for tag libraries aimed at use
by JellyDoc.
</p>
<subsection name='Tag Library Short Description'>
<p>
This is not strictly part of the main JellyDoc generated document but it is related
(and this seems like a good place to discuss it). This appears in the generated overview
document as the content paragraph.
</p>
<p>
This is taken from the <code>&lt;description&gt;</code> tag in the <code>project.xml</code>
for the tag library.
</p>
</subsection>
<subsection name='Tag Library Long Description'>
<p>
This appears in the main generated JellyDoc content as the description associated with
the library in the library table and also within the descriptive subsection below.
</p>
<p>
This is the contents of the body of the <code>package.html</code> file for the package
containing the tag library.
</p>
</subsection>
<subsection name='Tag Description'>
<p>
This appears in the main generated JellyDoc content as the description associated with
the tag in the tags table and also within the descriptive subsection for the tag.
</p>
<p>
This is the contents of the class level javadocs for the class implementing the class.
</p>
</subsection>
<subsection name='Attribute Description'>
<p>
This appears in the main generated JellyDoc content as the description associated with
the attribute in the tag attributes table.
</p>
<p>
This is the contents of the javadocs for the setter property mapped to the attribute.
Note that this includes the contents of the <code>@return</code> tag and so care
is needed to ensure that the generated output scans.
</p>
</subsection>
</section>
</body>
</document>