|Version 5 (modified by pacopablo, 10 years ago) (diff)|
Interface for using Nevow Stan templates in Trac Plugins
If you have any issues, create a new ticket.
Download the zipped source from [download:tracistanplugin here].
TracIStan exposes the IStanRequestHandler and IStanRenderer interfaces so that the Nevow Stan templating system can be used in Trac plugins.
To use it:
- implement the IStanRequestHandler and/or the IStanRenderer interfaces
- Set template data in req.standata. Attention should be paid to possible existing values in the req.standata dictionary. Thus, req.standata.update() should be used if filling req.standata from an existing dict.
The IStanRequestHandler is intentionally similar to the IRequestHandler interface. The only difference is that data that should be available in the Stan template must be stored in the req.standata dictionary.
To see what the example looks like, simply install both TraciStanPlugin in the aftracistan plugin and then visit the /aftracistan url. The original template looks better because:
- There are no trac header and footer
- I'm having some CSS issues where the CSS from the template and Trac's CSS are fighting each other. If anyone wants to improve the CSS that would be wonderful :)
The template used in the aftracistan example was done by Andreas Viklund. He makes nice templates. Props to him.
- 1081 by pacopablo on 2006-08-02 20:36:02
Add setup.cfg so that the resulting egg is tagged with the revision number and marked as dev
- 1080 by pacopablo on 2006-08-02 20:33:52
- Added support for passing different structures to include()
- Added support for using a TracIStan plugin as the default_handler. To do so, set the default_handler to TracIStan and then create a [tracistan] section and set the default_handler option to the name of the object that implements IStanRequestHandler interface. For example:
[trac] default_handler = TracIStan [tracistan] default_handler = MyStanPlugin
- 1061 by pacopablo on 2006-07-25 19:34:58