Pregunta

es Sphinx , ¿hay manera de forma automática enlace de texto como #112 o r1023 a las entradas / conjuntos de cambios correspondientes en Trac ?

Para por ejemplo:

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

TracLinks para más ejemplos.

¿Fue útil?

Solución

Si pones esto en su 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)

A continuación, se puede utilizar :trac:`#123` y :trac:`r1023` en sus documentos.

Esta es probablemente la manera más fácil de hacer una rápida conexión con un sitio trac. Funciona automáticamente para todos los tipos de TracLinks, ya que utiliza el mecanismo de intertrac para los enlaces.

Otros consejos

Sphinx 1.0 ahora soporta enlaces externos utilizando la extensión extlinks. El uso de un nombre de función configurable (por ejemplo, 'problema') se puede escribir sus enlaces como:

:issue:`123`

y se convierte en http://mytracsite/123.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top