我用Trac来管理我的项目。有些人必须定期查看我的wiki页面,才能看到一个特殊文件中的变化。因此,我在我的维基页面上有一个链接。与此相关的是:
[source:MyRepository/trunk/subfolder/file.pdf@head The file to read]我想要的是以下输出:
要读取的文件(最后一次介绍: 11/01/15,时间是上午08:52)
有什么办法在trac wiki中处理这个问题吗?
发布于 2011-01-05 23:11:47
您可能需要为此编写一个小插件,如下所示:
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或更高版本,错误处理是留给读者的可怕练习。)
将其放入名为source_link.py的文件文件中,放在Trac环境的plugins目录中。然后可以使用以下宏引用文件:
[[Source(MyRepository/trunk/subfolder/file.pdf)]]或者如果你想要一个特定的标签:
[[Source(MyRepository/trunk/subfolder/file.pdf, label=The file to read)]]https://stackoverflow.com/questions/4609471
复制相似问题