我正在使用Trac来管理我的项目。有些人必须定期查看我的维基页面才能观看特殊文件中的更改。因此,我的wikipage上有一个链接。有点链接:
[source:MyRepository/trunk/subfolder/file.pdf@head The file to read]
我想要的是以下输出:
要阅读的文件(最后提交时间:2015年1月11日上午8:52)
如何在trac wiki中管理它?
答案 0 :(得分:2)
您可能需要为此编写一个小插件,如下所示:
from genshi.builder import tag
from trac.util.datefmt import format_datetime
from trac.util.translation import _
from trac.versioncontrol.api import RepositoryManager
from trac.wiki.api import parse_args
from trac.wiki.macros import WikiMacroBase
class SourceMacro(WikiMacroBase):
def expand_macro(self, formatter, name, content):
args, kwargs = parse_args(content)
path = args[0]
label = kwargs.get('label', path)
rm = RepositoryManager(self.env)
reponame, repos, path = rm.get_repository_by_path(path)
node = repos.get_node(path)
href = formatter.href.browser(reponame or None, path)
return tag(tag.a(label, href=href),
_(' (last committed: %(date)s)',
date=format_datetime(node.last_modified)))
(对于Trac 0.12或更高版本,错误处理作为可怕的练习留给读者。)
将其放在Trac环境的source_link.py
目录中名为plugins
的文件文件中。然后,您可以使用以下宏引用您的文件:
[[Source(MyRepository/trunk/subfolder/file.pdf)]]
或者如果您想要特定标签:
[[Source(MyRepository/trunk/subfolder/file.pdf, label=The file to read)]]