JSPWikiPlugins


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 <plugin class> WHERE <param1=value1>,<param2=value2>,...}]

You can also use a shortcut: instead of using [{INSERT com.ecyrd.jspwiki.plugin.RecentChangesPlugin you can also use [{INSERT RecentChangesPlugin}]. 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:

[{CurrentTimePlugin}]

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

[{INSERT CurrentTimePlugin format='dd MM yyyy'}]

Here are some sample plugins included in the archive:


RecentChangesPlugin

Inserts the latest changes in order.

Parameters:

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

Example:

See UnusedPages.


UndefinedPagesPlugin

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

Parameters

Example:

See UndefinedPages.


ReferringPagesPlugin

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

Parameters

Example

See LeftMenuFooter.


CurrentTimePlugin

Just displays the current server time.

Parameters

 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:

2024.04.29 AD at 12:19:27 UTC


IndexPlugin

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

Parameters

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-<name>", if you have defined a counter name.

Parameters

Example

[{Counter}], [{Counter}], [{Counter}], [{Counter name='aa'}] produces

1, 2, 3, 1.

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


Image

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

Parameters

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 a nd will be rendered in green color.

CSS