The Name of the Plug-In <author>Authors Name <htmlurl url="mailto:user@some.net" name="<user@some.net>"> <inst>Version 1.0 <date>Last Updated: 09/01/96 <abstract> Put a description of the what the Plug-In does here. It can be multiple lines. The result will be a paragraph that is in italics in the HTML output, surrounded by horizontal lines. </abstract> <!-- Here is where the Table of Contents will go --> <toc> <!-- ============================================================ --> <!-- The Introduction Section --> <!-- ============================================================ --> <sect>Introduction <sect1>Where to get the software <p> <itemize> <item>The master location for the Plug-In source is at <htmlurl url="ftp://www.some.net/~user/gimp/source/plugin.tar.gz" name="http://www.some.net/~user/gimp/source/plugin.tar.gz"> You should always be able to get the latest version from here. If you grab this version you may need to hold down the <em>Shift</em> key to tell your browser to download the file and not try to display it. </itemize> <sect1>How to build the software <p> You should put a description of how to build th source here. For most plug-ins this will be the same bit of description, basically, since most plug-ins are single file source code that don't require any special libraries. If your Plug-In requires anything special, describe it here. <!-- ============================================================ --> <!-- The Features Section --> <!-- ============================================================ --> <sect>Features <p> Give a list, with very brief descriptions, of the features in the Plug-In. You should not go into detail for these features here. We will do that later on in this document. <itemize> <item>Item 1 <item>Item 2 <item>Item 3 <item>Item 4 <item>... and so forth </itemize> <p> Replace the "..." in the following to be the name of your Plug-In. All of these features is discussed at length in the section titled <em><ref id="dialog" name="The ... Dialog Box"></em>. <!-- ============================================================ --> <!-- The Dialog Box Section --> <!-- ============================================================ --> <sect>The ... Dialog Box <label id="dialog"> <!-- ============================================================ This is an image. Image handling is different for each format of output, so we have to put in special handling rules for each format supported. Right now, only HTML supports images (until I learn how to include images in latex or lyx). Note: these don't work with the sgml2xxx converters. I don't know why yet, but when I do I'll update the template, if necessary. For now, just use the fmthtml lines. --> <!-- These are the defaults for everything except HTML --> <!-- [%fmttxt; [ <? Image: Dialog Box > ]] --> <!-- [%fmtinfo; [ <? (Image: Dialog Box) > ]] --> <!-- [%fmtlatex; [ <? (Image: Dialog Box) > ]] --> <!-- [%fmtrtf; [ <? (Image: Dialog Box) > ]] --> <!-- [%fmtlyx; [ <? (Image: Dialog Box) > ]] --> <!-- Include a copy of the dialog box opened by your Plug-In here --> <!-- In this example, the Sparkle dialog box is used --> <![%fmthtml; [ <? <IMG ALIGN="left" SRC="images/dialog.jpg" VSPACE="15" HSPACE="10" ALT="Sparkle Dialog Box Image" WIDTH="359" HEIGHT="650"> > ]]> <p> There are number of features that can be set by the user in the ... Dialog box. <enum> <item><em><ref id="item1" name="Item 1"></em> <item><em><ref id="item2" name="Item 2"></em> <item><em><ref id="item3" name="Item 3"></em> </enum> <p> At this point you should explain briefly what happens when changes are made to the options in the dialog box. For example, the following lines explain what happens with the Sparkle Plug-In when the options have been modified by the user: Changes to the options effect the current image. These can be removed by using the <em>Undo</em> feature of the GIMP. Changes to the various options do not have an immediate effect on the image. In order for the changes to take effect the <em>OK</em> button must be pressed. Pressing the <em>Cancel</em> button will close the dialog window without making any changes. <!-- ============================================================ Force a break after the image in the HTML output so the following text comes after the image, not next to it. --> <![%fmthtml; [ <? <BR clear="both"> > ]]> <p> Now describe each option in the dialog box in detail. <sect1>Item 1 <label id="item1"> <p> Here would be the description of what the first option does and how to make changes with it. <sect1>Item 2 <label id="item2"> <p> Here would be the description of what the first option does and how to make changes with it. <sect1>Item 3 <label id="item3"> <p> Here would be the description of what the first option does and how to make changes with it. <!-- ============================================================ --> <!-- Examples Section --> <!-- ============================================================ --> <sect>Example Images <p> As of this time, only HTML output is supported by this template. The reason for this is that an SGML trick to include output-format specific tags in the SGML doesn't really work as expected. The reason you need to know this is that the Examples Section only supports HTML output because the examples without images would be pretty useless. <p> When I get this trick straightened out, we'll be able to get output in other formats besides HTML. You'll note that all the code in the template after this line is tagged to be used only by HTML. Its not supposed to show up in any other format. Unfortunately, I can't even run this through the other converters. They barf on the HTML specific stuff (they aren't supposed to, though). Anyway, this is just to show how you could do an example. <p> <!-- [%fmttxt; [ <? Examples are only available for the HTML versions of this document. > ]] --> <!-- [%fmtinfo; [ <? Examples are only available for the HTML versions of this document. > ]] --> <!-- [%fmtlatex; [ <? Examples are only available for the HTML versions of this document. > ]] --> <!-- [%fmtrtf; [ <? Examples are only available for the HTML versions of this document. > ]] --> <!-- [%fmtlyx; [ <? Examples are only available for the HTML versions of this document. > ]] --> <![%fmthtml; [ <? Here is an example of how the sparkle plug-in can be used to add both lens flare and a feathered edge to an image. > ]]> <![%fmthtml; [ <? <P> > ]]> <![%fmthtml; [ <? First, the original image: an image of the Royal Gorge in Colordao taken from a postcard. > ]]> <![%fmthtml; [ <? <P> > ]]> <!-- The original image that is going to be sparkled --> <![%fmthtml; [ <? <CENTER> > ]]> <![%fmthtml; [ <? <IMG SRC="images/rgorge.jpg" ALT="The Royal Gorge" WIDTH="299" HEIGHT="480"> > ]]> <![%fmthtml; [ <? </CENTER> > ]]> <![%fmthtml; [ <? <BR clear="all"> > ]]> <![%fmthtml; [ <? <HR> > ]]> <![%fmthtml; [ <? <P> > ]]> <![%fmthtml; [ <? Now, two versions of this same image after being processed by the sparkle plug-in (if you see rows of dots in the white area around the images its not > ]]> <![%fmthtml; [ <? a problem with the sparkle plug-in, its an artifact from converting to jpeg and using higher compression): > ]]> <![%fmthtml; [ <? <HR> > ]]> <![%fmthtml; [ <? <table> > ]]> <![%fmthtml; [ <? <tr> > ]]> <![%fmthtml; [ <? <td> > ]]> <!-- Two images showing sparkled versions of original --> <![%fmthtml; [ <? <IMG ALIGN="left" SRC="images/rgorge-sp1.jpg" ALT="The Royal Gorge" WIDTH="299" HEIGHT="480"> > ]]> <![%fmthtml; [ <? </td> > ]]> <![%fmthtml; [ <? <td> > ]]> <![%fmthtml; [ <? <IMG ALIGN="right" SRC="images/rgorge-sp2.jpg" ALT="The Royal Gorge" WIDTH="299" HEIGHT="480"> > ]]> <![%fmthtml; [ <? </td> > ]]> <![%fmthtml; [ <? <tr> > ]]> <![%fmthtml; [ <? <td> > ]]> <![%fmthtml; [ <? <UL> > ]]> <![%fmthtml; [ <? <LI> > ]]> <![%fmthtml; [ <? Threshold: 0.1129 > ]]> <![%fmthtml; [ <? <LI> > ]]> <![%fmthtml; [ <? Flare Intensity: 0.303 > ]]> <![%fmthtml; [ <? <LI> > ]]> <![%fmthtml; [ <? Spike Length: 76 > ]]> <![%fmthtml; [ <? </UL> > ]]> <![%fmthtml; [ <? </td> > ]]> <![%fmthtml; [ <? <td> > ]]> <![%fmthtml; [ <? <UL> > ]]> <![%fmthtml; [ <? <LI> > ]]> <![%fmthtml; [ <? Threshold: 0.0806 > ]]> <![%fmthtml; [ <? <LI> > ]]> <![%fmthtml; [ <? Flare Intensity: 0.303 > ]]> <![%fmthtml; [ <? <LI> > ]]> <![%fmthtml; [ <? Spike Length: 76 > ]]> <![%fmthtml; [ <? </UL> > ]]> <![%fmthtml; [ <? </td> > ]]> <![%fmthtml; [ <? </table> > ]]> <![%fmthtml; [ <? <P> > ]]> <![%fmthtml; [ <? The rest of the values used in the sparkle dialog box are the default values. > ]]> <!-- Section: Notes --> <sect>Notes <p> Anything that doesn't fit into some other section should go here. Except for the Examples Section, the rest of the format of this template is pretty stringent. Here is where you can be creative if you want to be. <!-- The next line is mandatory! --> </article>