あなたはおそらく、次のようなものをそのための小さなプラグインを記述する必要があります。
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コードとしてレンダリングする必要があることを指定するのですか? –
WOW!速い反応に感謝します...私はそれを試み、報告します。 – derroman
うん!できます!ありがとうございました! – derroman