0

好的,我已经看了一遍,我认为我做对了,但我没有得到任何结果。有没有人写过 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 世界是否正确。在页面上?

4

1 回答 1

2

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

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

于 2012-11-06T00:27:27.927 回答