5

Sphinxは、 Tracの対応するチケット/チェンジセットのよう#112なテキストを自動的にリンクする方法はありますか?r1023

例:

#112  -> http://mytracsite/tickets/112
r1023 -> http://mytracsite/changeset/1023

その他の例については、 TracLinksを参照してください。

4

2 に答える 2

9

これをconfig.pyに入れると


trac_url = 'http://mytratsite/'

from docutils import nodes, utils
from docutils.parsers.rst import roles
import urllib

def trac_role(role, rawtext, text, lineno, inliner, options={}, content=[]):
  ref = trac_url + '/intertrac/' + urllib.quote(text, safe='')
  node = nodes.reference(rawtext, utils.unescape(text), refuri=ref, **options)
  return [node],[]

roles.register_canonical_role('trac', trac_role)

:trac:`#123`次に、とをドキュメントで使用でき:trac:`r1023`ます。

これはおそらく、tracサイトへのクイックリンクを作成する最も簡単な方法です。リンクにintertracメカニズムを使用するため、すべての種類のTracLinkで自動的に機能します。

于 2010-01-21T17:23:54.823 に答える
5

Sphinx 1.0は、拡張機能を使用した外部リンクをサポートするようになりました。extlinks構成可能な役割名(「issue」など)を使用して、次のようなリンクを記述できます。

:issue:`123`

に変換されhttp://mytracsite/123ます。

于 2011-12-11T10:48:12.833 に答える