你可能會寫的一個小插件,類似如下:
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環境的plugins
目錄中的文件文件source_link.py
中。然後,你可以用下面的宏引用您的文件:
[[Source(MyRepository/trunk/subfolder/file.pdf)]]
,或者如果你想有一個特定的標籤:
[[Source(MyRepository/trunk/subfolder/file.pdf, label=The file to read)]]
如何您指定一個代碼塊應該呈現爲Python代碼? – 2011-01-05 23:15:31
哇!感謝您的快速響應......我會盡力並會報告。 – derroman 2011-01-05 23:24:10
是啊!有用!謝謝! – derroman 2011-01-05 23:31:54