= Arbitrary Options Plugin = == Description == 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. You can do this for your project listing page too, using the ArbitraryProjectPropertiesPatch. Note that this is only implemented for Genshi right now, but there's no reason you couldn't add a line or two for !ClearSilver, I just didn't have a way to test it. === Examples === If your .ini had this: {{{ #!ini [project_info] 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='proj.name != project.name and proj.info.get("status") == "primary"'> <a href='/${proj.href}'>${proj.name}</a> </li> }}} See also http://www.siafoo.net/snippet/276 for information. See http://projects.icapsid.net/adjector for a usage example. == Bugs/Feature Requests == Existing bugs and feature requests for ArbitraryOptionsPlugin are [report:9?COMPONENT=ArbitraryOptionsPlugin here]. If you have any issues, create a [http://trac-hacks.org/newticket?component=ArbitraryOptionsPlugin&owner=david new ticket]. == Download == Download the zipped source from [download:arbitraryoptionsplugin here]. You can also just run: {{{ easy_install TracArbitraryOptionsPlugin }}} == Source == You can check out ArbitraryOptionsPlugin from [http://trac-hacks.org/svn/arbitraryoptionsplugin here] using Subversion, or [source:arbitraryoptionsplugin browse the source] with Trac. == Recent Changes == [[ChangeLog(arbitraryoptionsplugin, 3)]] == Author/Contributors == '''Author:''' [wiki:david] [[BR]] '''Maintainer:''' [wiki:david] [[BR]] '''Contributors:'''