1 | Support for HDF-based macros has been dropped starting with Trac 0.11
|
---|
2 | as with the switch to the Genshi templating engine, the `hdf` data
|
---|
3 | prepared for the Clearsilver engine used upto Trac 0.10 has simply
|
---|
4 | disappeared.
|
---|
5 |
|
---|
6 | This means that the old-style macros installed in the `wiki-macros` folder,
|
---|
7 | i.e. the Python source files containing the simple function:
|
---|
8 |
|
---|
9 | def execute(hdf, txt, env):
|
---|
10 | ...
|
---|
11 |
|
---|
12 | must be rewritten into new-style macros,
|
---|
13 | i.e. plugins implementing the IWikiMacroProvider interface.
|
---|
14 |
|
---|
15 | This is not necessarily a complex task, given that:
|
---|
16 | - the plugin can be a "single file plugin" which doesn't need to be
|
---|
17 | configured to use setuptools. Creating a single .py source file
|
---|
18 | and dropping it at the right place (the `plugins` folder next to
|
---|
19 | the old `wiki-macros` folder) also works;
|
---|
20 | - instead of implementing the IWikiMacroProvider directly,
|
---|
21 | inheriting from the WikiMacroBase class also works well and is
|
---|
22 | a bit more convenient.
|
---|
23 |
|
---|
24 | Note that not only is this not more complex, but it's also much more
|
---|
25 | powerful, as the macro can now access the Wiki `formatter` object,
|
---|
26 | and through it, all the other objects that are meaningful in the
|
---|
27 | context of the Wiki text containing the macro call.
|
---|
28 |
|
---|
29 | You can see how the examples for the old-style macros have been
|
---|
30 | converted to the new-style macros (single file plugins), in the
|
---|
31 | `sample-plugins/HelloWorld.py` and `sample-plugins/Timestamp.py` files.
|
---|
32 |
|
---|
33 | Note that the TracGuideToc macro has been integrated in the main
|
---|
34 | source code base (in `trac/wiki/macros.py`).
|
---|