Motivation#

My wiki has lots of lists of books, authors, etc. Each of the listings isn't that big, so I ended up with a thin column, flushed left, that ran for pages. What I would have preferred was a multi-column display, to eliminate scrolling, and to use the screen real estate better. Also, I was spending a lot of time alphabetizing the links. So, I wrote this plugin! Now I have columns, and I don't have to worry about ordering the list items.

Here is a screen shot (click on thumbnail to view):

link to ColumnFilter screenshot

What it does#

The plugin looks for the first HTML list in a page, sorts it, makes headings for each alphabetical section (sorry, I have no idea how it performs for non-English. Help!), and places the result into a number of columns. The layout is pure CSS, so you can style everything. All subsequent lists are ignored, as is all other HTML. No change has to be made to the actual wiki page in order for this to work. Check out the pages on my wiki for examples of how it ends up looking.

Technical Details#

The key is the filters XML file, where you specify one filter per page you want styled, and the number of columns you want.
<?xml version="1.0"?>

<pagefilters>

   <filter>
      <class>com.bradfordholcombe.JSPWiki.filters.ColumnFilter</class>

      <param>
         <name>pageTitle</name>
         <value>Biographies</value>
      </param>
      <param>
         <name>columnCount</name>
         <value>5</value>
      </param>

   </filter>

</pagefilters>

An example of the CSS to style the headings:


h4.listheading {
   background-color: #547392;
   color: white;
   margin-top:20px;
   margin-bottom: 0px;
   margin-right: 10px;
   margin-left:10px;
   padding-left:10px;
   
}

h4.listheading a {
   font-size:12px;
   color: white;
}

Installation#

Drop the JAR in your lib directory, and update your filter XML and CSS files. That should be it. The source code and JAR are below as attachments.

Bugs#

Please note any bugs or suggestions here. Note that, while it is working, and I have tested it extensively on JSPWiki 2.1.103 and Resin 2.1, it has been known to rarely not do the columns correctly for unexplained reasons. I have not isolated this behavior. There might be an interaction between this filter and my Edit Link Filter, which I also use on my wiki. Rearranging the order of the pages in the filter XML file seemed to change the behavior. Let me know if you find any issues.

-- Bradford Holcombe

P.S. Screwed up the page title. I'll fix it later.

Add new attachment

Only authorized users are allowed to upload new attachments.

List of attachments

Kind Attachment Name Size Version Date Modified Author Change note
jar
ColumnFilter.jar 10.6 kB 1 05-Oct-2004 04:29 BradfordHolcombe
java
ColumnFilter.java 15.0 kB 1 05-Oct-2004 04:32 BradfordHolcombe
jpg
ColumnFilter.jpg 162.7 kB 1 05-Oct-2004 04:51 BradfordHolcombe
jpg
ColumnFilter_thumb.jpg 23.0 kB 1 09-Jan-2007 01:31 MurrayAltheim thumbnail for screenshot
« This page (revision-12) was last changed on 26-Aug-2009 11:10 by Dirk Frederickx