Version 17 (modified by Martin Scharrer, 13 years ago) (diff)


List all Wiki Pages with Last Changed Data and Author or Last Changes By Author


The macro ListOfWikiPages prints a table of all (user generated, i.e. non-trac-default) wiki pages with last changed date and author as requested in Request-a-Hack #2427. Version 0.2 provides also a long format which also includes the newest version number and links to the difference and the history as well as the last comment. This was requested by #4717.

The second macro provided by this package is LastChangesBy which prints the last changes made by the given user or the logged-in user if no username is given.

This package now uses the AdvParseArgsPlugin which must also be installed.


Put the following into your trac.ini configuration file:

traclistofwikipages.* = enabled

# Optional list of ignored users, defaults to 'trac' to ignore trac's default wiki pages:
#ignore_users = trac

# Select default format 'long' or 'short'. Defaults to 'short' which is the pre-v0.2 format.
#default_format = long
#default_format = short

Bugs/Feature Requests

Existing bugs and feature requests for ListOfWikiPagesMacro are here.

If you have any issues, create a new ticket.

Download and Source

Download the [download:listofwikipagesmacro zipped source], check out using Subversion from here, or browse the source with Trac.



You can use the ListOfWikiPages macro like this:

[[ListOfWikiPages]]                     # default format as configured in the config file
[[ListOfWikiPages(format=short)]]       # short format
[[ListOfWikiPages(format=long)]]        # long format (new v0.2)

which prints a table of all wiki pages, or with a list of wiki pages:


Since v0.3 the optional arguments from and to can be used to specify a time/date range as requested by #5344. The values of this arguments are taken as negative offsets to the current time (i.e. the time the wiki page is displayed). Allowed is a number followed by a unit which can be s,m,h,d,w,o,y for seconds, minutes, hours, days, weeks, month and years. If the unit is missing seconds are assumed.

[[ListOfWikiPages(from=3d)]]            # displays all wiki pages changed in the last three days
[[ListOfWikiPages(to=15m)]]             # displays all wiki pages was where changed longer than 15 minutes ago
[[ListOfWikiPages(from=4.5w,to=15h)]]   # displays all wiki pages was where changed between 4 1/2 week and 15 hours ago

A headline can be given using a headline argument:

[[ListOfWikiPages(headline=Headline text without any comma)]]     # sets a table headline, may not contain '`,`'

The order can be reversed, i.e. list the oldest wikis first, using:


Unwanted wiki ranges (e.g. Trac*) can be excluded by the exclude=pattern option which can be given multiple times. The wildcards '*' (matches everything) and '?' (matches a single character) can be used in the pattern.


The resulting table looks like this (example links not functional) in the long format. The short format simply lacks the columns Version, Diff, History and Comment.

WikiPageLast Changed AtByVersionDiffHistoryComment
SandBox10/24/09 12:21:21 (98 minutes ago)martin43DiffHistory
test10/24/09 05:22:14 (9 hours ago)martin3DiffHistory
TracLinks10/21/09 15:05:36 (3 days ago)martin4DiffHistoryReplaced "raw-attachment:" with "htdoc:dl/".


This macro prints a table similar to the one above only with the By column missing and the author name in the table head.

[[LastChangesBy(martin_s)]]          # the last 5 changes by user `martin_s`
[[LastChangesBy(martin_s,10)]]       # the last 10 changes by user `martin_s`

[[LastChangesBy]]                    # or
[[LastChangesBy()]]                  # the last 5 changes by the current user (i.e. every user sees it's own changes, if logged-on)
[[LastChangesBy(,12)]]               # the last 12 changes by the current user

[[LastChangesBy(...,format=...]]     # Selects `long` or `short` table format
[[LastChangesBy(...,from=..,to=..]]  # Selects `from` and `to` time/date range

[[LastChangesBy(...,headline=...]]   # Overwrites headline, may not contain `','`

[[LastChangesBy(...,order=reverse]]  # Lists the wikis in reverse order. Only really useful with few wikis or with `to`/`from`.
[[LastChangesBy(..,exclude=pattern]] # Excludes wikis matching `pattern`. Wildcards `*` and `?` are supported.
Last 3 changes by martin
WikiPageLast Changed At VersionDiffHistoryComment
SandBox10/24/09 12:21:21 (98 minutes ago)43DiffHistory
test10/24/09 05:22:14 (9 hours ago)3DiffHistory
TracLinks10/21/09 15:05:36 (3 days ago)4DiffHistoryReplaced "raw-attachment:" with "htdoc:dl/".

Recent Changes

17126 by rjollos on 2018-04-14 09:18:09
TracListOfWikiPagesMacro 0.5: Conform to PEP8
16538 by rjollos on 2017-04-16 02:32:47
Fix indentation
15550 by rjollos on 2016-05-15 06:01:40
0.4: Add encoding statement to source files

Patch by ntmlod.

Refs #7588, #12776.



Author: martin_s