写我的第一个Trac宏

时间:2012-11-05 13:55:32

标签: python macros trac

好的,我看了一遍,我我做得对,但我没有得到任何结果。那里有没有人写过Trac宏可以指导我完成第一步?这就是我写的:

from trac.wiki.macros import WikiMacroBase
from genshi.builder import tag

class MyMacro(WikiMacroBase):
    """Proof of concept"""

    revision = "$Rev$"
    url = "$URL$"

    def expand_macro(self, formatter, name, args):
        return tag.b("Hello world.")

我已将其保存为.py文件并将其放入我的Trac项目的/ plugins目录中。我需要重启apache吗?我是否正确期望[[MyMacro]]在页面上输出 Hello world。

1 个答案:

答案 0 :(得分:2)

使用该格式创建宏时,Trac希望您的类名为“<name>Macro”。例如,如果您想要一个名为JustASample的宏,则可以将该类命名为JustASampleMacro。由于您将类命名为MyMacro,因此Trac认为您希望将宏命名为My。尝试在维基页面上使用[[My]],看看你是否得到了你期望的输出。

将文件复制到plugins目录后,确实需要重新启动Web服务器。在此之前,请删除为插件创建的所有.pyc个文件。此外,请确保运行Web服务器的帐户可以读取该文件。