wiki:ListOfWikiPagesMacro

Version 28 (modified by figaro, 8 years ago) (diff)

Propagate better plugin naming

List all Wiki Pages with Author and Last Changed Date

Description

This macro prints a table of all (user generated, ie non-Trac-default) wiki pages with last changed date and author as requested in #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 uses the AdvParseArgsPlugin, which must also be installed.

Bugs/Feature Requests

Existing bugs and feature requests for ListOfWikiPagesMacro are here.

If you have any issues, create a new ticket.

defect

7 / 7

enhancement

7 / 9

Download and Source

Download the zipped source from here.

Source

Check out ListOfWikiPagesMacro from here using Subversion, or browse the source with Trac.

Installation

General instructions on installing Trac plugins can be found on the TracPlugins page.

Configuration

Put the following into your trac.ini configuration file:

[components]
traclistofwikipages.* = enabled

[listofwikipages]
# 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

Examples

ListOfWikiPages

You can use the ListOfWikiPages macro like this:

[[ListOfWikiPages]]                     # default format as given in the configuration 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:

[[ListOfWikiPages(ThatWikiPage,ThisWikiPage,AnotherWikiPage,format=...)]]

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, that is the time that 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, months and years. If the unit is missing, then seconds are assumed.

[[ListOfWikiPages(from=3d)]]            # displays all wiki pages changed in the last 3 days
[[ListOfWikiPages(to=15m)]]             # displays all wiki pages changed more than 15 minutes ago
[[ListOfWikiPages(from=4.5w,to=15h)]]   # displays all wiki pages changed between 4 1/2 weeks 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, ie list the oldest wikis first, using:

[[ListOfWikiPages(order=reverse)]]

Unwanted wiki ranges, eg 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 (requested in #6074).

[[ListOfWikiPages(exclude=Trac*,exclude=abc?)]]

The resulting table looks like this in the long format (example links not functional). 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/".

LastChangesBy

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, ie every logged-on user sees its own changes
[[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 useful with few wiki pages or with `to`/`from`.

[[LastChangesBy(..,exclude=pattern]] # Excludes wiki pages matching `pattern`. Wildcards `*` and `?` are supported.

The resulting table looks like this in the long format:

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.

(more)

Author/Contributors

Author: martin_s
Maintainer: Martin Scharrer
Contributors: