Frage

Sphinx , gibt es Möglichkeit, automatisch Link-Text wie #112 oder r1023 an die entsprechenden Tickets / Change in Trac ?

Für zB:

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

Siehe TracLinks für weitere Beispiele.

War es hilfreich?

Lösung

Wenn Sie dies in Ihrem 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)

Dann können Sie :trac:`#123` und :trac:`r1023` in Ihren Dokumenten verwenden.

Dies ist wahrscheinlich der einfachste Weg, um schnell Links zu einer trac-Website zu machen. Es funktioniert automatisch für alle Arten von TracLinks, weil es den Intertrac Mechanismus für die Links verwendet.

Andere Tipps

Sphinx 1.0 unterstützt jetzt externe Links extlinks Erweiterung. Mit Hilfe eines konfigurierbaren Rollennamen (zum Beispiel ‚Ausgabe‘) können Sie Ihre Links wie schreiben:

:issue:`123`

, und es wird zu http://mytracsite/123 umgewandelt werden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top