好的,我看了一遍,我想我做得对,但我没有得到任何结果。那里有没有人写过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。?
答案 0 :(得分:2)
使用该格式创建宏时,Trac希望您的类名为“<name>Macro
”。例如,如果您想要一个名为JustASample
的宏,则可以将该类命名为JustASampleMacro
。由于您将类命名为MyMacro
,因此Trac认为您希望将宏命名为My
。尝试在维基页面上使用[[My]]
,看看你是否得到了你期望的输出。
将文件复制到plugins目录后,确实需要重新启动Web服务器。在此之前,请删除为插件创建的所有.pyc
个文件。此外,请确保运行Web服务器的帐户可以读取该文件。