It's better when it's simple

User Tools

Site Tools


tablefilterjs Plugin

Compatible with DokuWiki

  • 2017-02-19 "Frusterick Manners" unknown
  • 2016-06-26 "Elenor Of Tsort" unknown
  • 2015-08-10 "Detritus" unknown
  • 2014-09-29 "Hrun" no

plugin Filter DokuWiki table using JavaScript regexps.

Last updated on

Tagged with filter, javascript, tables


This plugin allows you to filter rows in your DokuWiki table by using javascript regex. The plugin is much more useful with include plugin which allows you to have one page where you store your data and several others where you store filtered informations.


Install the plugin using the Plugin Manager and the download URL above, which points to latest version of the plugin. Refer to Plugins on how to install plugins manually.


Let's say that we have table that contains names and birth's date and we want to know who was born in 08-11-1994:

<filter Birthday=/08-11-1994/>
|User 1|12-12-1995|
|User 2|08-11-1994|
|User 3|18-12-1994|

or more briefly (using cols index instead of names).

<filter 2=/08-11-1994/>
|User 1|12-12-1995|
|User 2|08-11-1994|
|User 3|18-12-1994|

This will return only the second row.

Now let's try something more complexed. For example select all persons born in 1994:

<filter 2=/\d{1,2}-\d{1,2}-1994/>
|User 1|12-12-1995|
|User 2|08-11-1994|
|User 3|18-12-1994|

Here we've used javascript regexp syntax. You can read more about it here.

Using tablefilterjs with include

As I've mentioned before this plugin is mostly useful when used together with include plugin. You can read more about this plugin on it's page but there are several things to remember when you want to use it together with tablefilterjs.

To use DokuWiki table nested by include on one of your page. Use following syntax:

<filter "Data"=/201[0-9]{1}/>

Remember about adding inline flag. Without it tablefilterjs will simply not work.

There are also several other include flags that you may consider usefull:

<filter "Data"=/201[0-9]{1}/>

This flags cause that only the source table will be shown, without unnecessary (headers, footers, edit buttons).


There are two variants of syntax. First allows you to use table headers as row names that will be used to filter table. Ex.:

<filter "Test row"=/test/>

If your header contains “ you can use ' instead. Ex.

<filter 'Test "something" row'=/test/>

Alternatively you can use \ char in order to quote ' or ":

<filter 'Test \'something\' row'=/test/>

Instead of using headers you can use headers numbers(1 means first column):

<filter 1=/another test/ 2=/something more/>

You can of course mix this two syntax variants:

<filter 1=/another test/ "Test row"=/test/>

After = you need to put JavaScript compatible regexp between / / characters. After second / you can set regexp flags. For example:

<filter 1=/another test/i>

Configuration and Settings

The plugin doesn't have any configuration options.


Change Log

Known Bugs and Issues

Please report bug and issues on the project's github page.

ToDo/Wish List

If you have any wishes write it down here.

It will be good if after filter the row number were showed.



This plugin turns off Indexmenu plugin! :!: 2013-06-21 (Rolew) Fixed.

  • :!: This plugin breaks the Table of Contents on “Blinky”! (2014-01-10)
  • I cannot reproduce it. Can you give me your use case which cause “Table of Contonts” break.(which template do you use? How do you use tablefilterjs(with include or not)? etc.) — Szymon Olewniczakghi

    2014/02/05 09:37
plugin/tablefilterjs.txt · Last modified: 2017-08-10 20:47 by solewniczak