Version 2 (modified by David, 12 years ago) (diff)


Arbitrary Options Plugin


Pass arbitrary options from conf.ini's to templates in Trac.

You put whatever options you'd like in a [project_info] stanza inside your trac's .ini file. These are passed to the template as key-value pairs inside the dictionary 'project_info'.

You can also access data for other projects in your trac env under the list 'projects'. That list will have a dictionary with keys 'name', 'description', 'href', and 'info', where the first three are the same as in a project list, and the 'info' is the dictionary of arbitrary options you've passed for that project.

Bugs/Feature Requests

Existing bugs and feature requests for ArbitraryOptionsPlugin are here.

If you have any issues, create a new ticket.


Download the zipped source from [download:arbitraryoptionsplugin here].


You can check out ArbitraryOptionsPlugin from here using Subversion, or browse the source with Trac.


If your .ini had this:

short_name = my_project
status = active
order = 3

You could access it in your Trac's Genshi templates like this:

Short name is ${project_info.get('short_name')}. Status is ${project_info.get('status')}.  Order is ${project_info.get('order')}.

You could iterate over your whole projects list like this:

<li py:for='proj in projects' py:if=' != and"status") == "primary"'>
    <a href='/${proj.href}'>${}</a>

See also for information.

See for a usage example.

Recent Changes

11845 by rjollos on 2012-07-31 06:42:12
Removed egg.
7494 by david on 2010-02-03 18:59:49
Initial Commit
7493 by david on 2010-02-03 18:33:55
New hack ArbitraryOptionsPlugin, created by david


Author: david
Maintainer: david