Version 2

    Since v1.6.3 you can now define your own plugins.  These are just

    simply Java classes that implement the

    com.ecyrd.jspwiki.plugin.WikiPlugin interface and can be found from

    somewhere in your class path.  The plugins work so that when you write

    a special code on the Wiki page, the plugins are invoked and their

    output is inserted into the page, verbatim.

     

    The form is:

     

      [INSERT ,...}]

     

    You can also use a shortcut: instead of using [INSERT com.ecyrd.jspwiki.plugin.RecentChangesPlugin you can also use .  This works only with the plugins that come with JSPWiki, though.

     

    In addition, you can now (since 1.9.30) omit even the "INSERT", so the shortest possible version for plugins becomes:

     

     

    If a parameter contains spaces, you can use single quotes (') around the parameter.  Like this:

     

     

    Here are some sample plugins included in the archive:

     

    -


     

    RecentChangesPlugin

     

    Inserts the latest changes in order.

     

    Parameters:

    • since=n : show changes from the last n days.

    • format=(full|compact) : if "full", then display a long

      version with all possible info.  If "compact", then be as compact as possible.

     

    Example:

    [{INSERT RecentChangesPlugin since=5, format=compact}]
    

     

    Inserts the changes from the past 5 days in a compact format.  You

    might use this to make an automatical list of changes to the LeftMenu, or LeftMenuFooter, for example.

     

    -


       

    UnusedPagesPlugin

     

    Lists all pages that are not currently referred to by any other page, thus meaning they are inaccessible through any other means.

     

    Parameters

     

    • maxwidth=n : Limits the length of the generated links to at most n characters.  This should used to keep the LeftMenu or LeftMenuFooter at a manageable width.  Default is to not limit the length at all.

     

     

    Example:

     

    See UnusedPages.

     

    -


     

    UndefinedPagesPlugin

     

    Lists all pages that are referred to, but not yet created.

     

    Parameters

     

    • maxwidth=n : Limits the length of the generated links to at most n characters.  This should used to keep the LeftMenu or LeftMenuFooter at a manageable width.  Default is to not limit the length at all.

     

    Example:

     

    See UndefinedPages.

     

    -


     

     

    ReferringPagesPlugin

     

    Finds and lists all pages that refer to the current page.

     

    Parameters

     

    • max=n : How many pages to list.  Default is 10. Some pages might create very long lists, so it's a good idea to limit the list size.

    • maxwidth=n : Limits the length of the generated links to at most n characters.  This should used to keep the LeftMenu or LeftMenuFooter at a manageable width.  Default is to not limit the length at all.

     

    Example

     

    See LeftMenuFooter.

     

    -


     

    CurrentTimePlugin

     

    Just displays the current server time.

     

    Parameters

     

    • format=format string : How the date and time should be formatted.  If you omit this, a default format will be used. The following characters are available to you:

     

     Symbol   Meaning                 Presentation        Example
     ------   -------                 ------------        -------
     G        era designator          (Text)              AD
     y        year                    (Number)            1996
     M        month in year           (Text & Number)     July & 07
     d        day in month            (Number)            10
     h        hour in am/pm (1~12)    (Number)            12
     H        hour in day (0~23)      (Number)            0
     m        minute in hour          (Number)            30
     s        second in minute        (Number)            55
     S        millisecond             (Number)            978
     E        day in week             (Text)              Tuesday
     D        day in year             (Number)            189
     F        day of week in month    (Number)            2 (2nd Wed in July)
     w        week in year            (Number)            27
     W        week in month           (Number)            2
     a        am/pm marker            (Text)              PM
     k        hour in day (1~24)      (Number)            24
     K        hour in am/pm (0~11)    (Number)            0
     z        time zone               (Text)              Pacific Standard Time
     \'       escape for text         (Delimiter)
     \''      single quote            (Literal)           '
    

     

    For example, two 'y':s give you the year using two digits.  Four 'y':s give you the year in four digits.  Three 'M':s give you the month in letters, whereas two 'M':s give just the month number.

     

    (Yes, these are exactly the Java SimpleDateFormat arguments.  Sorry for copying them in.)

     

    Example

     

    Using INSERT CurrentTimePlugin format='yyyy.MM.dd G \'at\' hh:mm:ss z'} would give you:

     

     

     

    -


     

    IndexPlugin

     

    Displays all of the pages in this Wiki in alphabetical order.  IndexPlugin has been contributed by AlainRavet.

     

    Parameters

    • itemsPerLine = n.  Break every 'n' items on line.

     

    Example

     

    See PageIndex.

     

    -


     

    Counter

     

    A simple counter that starts counting at 1 at the top of the page, and each time it is invoked, will increase its value by one.   These counters are transient, and relative to the current page view only - i.e. two persons viewing the same page at the same time get their own counters.

     

    The current counter value is accessible also as a WikiVariable.  The name of the variable is "counter", or "counter-", if you have defined a counter name.

     

    Parameters

     

    • name = counter name.  You may define as many counters per page as you want; you just need to separate them with the counter name

     

    Example

     

    , , , produces

     

    , , , .

     

    The value of "counter" at the end is counter and the value of "counter-aa" is counterAa.

     

    -


     

    InsertPage

     

    The InsertPage plugins allows you to include the contents of another page into the current page.

     

    Parameters

     

    • page = WikiName.  The WikiName of the page you want to insert.

    • style = CSS definition.  A style you want to use to include the page with.

    • maxlength = integer.  If the page exceeds this length in characters, it will be truncated and a text "More..." linking to the page will be appended.

     

    Example

    [{InsertPage page='About' 
                 style='font-size: 85%; margin: 10px; padding: 5px; border-width: thin;
     border-style:inset; background: #dedede; font-family:monospace' 
                 maxlength=200}]
    

    will produce:

     

     

     

    -


     

    Image

     

    The Image plugin allows one to have finer control over the layout of images than just the simple inling of images.

     

    Parameters

     

    • src = Image source.  This can either be a full URL (http://...) or a WikiAttachment name.  Required.

    • align = left|right|center.  The image alignment.

    • height = integer.  Force the height of the image.

    • width = integer.  Force the width of the image.

    • alt = alt text.   The alt text of an image.  This is very useful when doing pages that can be navigated with text-only browsers.

    • caption = caption text.  The text that should be shown as a caption under the image.

    • link = hyperlink.  A hyperlink (http://...).  In the future, you can also use WikiPages.

    • border = integer.  Size of the image border.

    • style = style info.  Any style markup you would like to apply to the table surrounding the image.

    • class = class name.  Redefine the default class for this

    image, which is "imageplugin".

     

    Example

     

    Image src='SandBox/test.png' caption='Testing image' style='font-size: 120%; color: green;'}.

     

    Shows the attachment SandBox/test.png with the caption "Testing image" underneath it.  The text is 120% in height and will be rendered in green color.

     

    CSS

     

    • .imageplugin = The table that encompasses the image.  It consists of two undercategories:

      • img = The IMG tag that gets embedded.

      • caption = The caption that is embedded.