2010-01-19 20 views

Trả lời

9

Nếu bạn đặt này trong 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) 

của bạn Sau đó, bạn có thể sử dụng :trac:`#123`:trac:`r1023` trong tài liệu của bạn.

Đây có lẽ là cách dễ nhất để tạo liên kết nhanh đến một trang web theo dõi. Nó tự động làm việc cho tất cả các loại TracLinks vì nó sử dụng cơ chế intertrac cho các liên kết.

+0

Rất tiếc, việc thêm vai trò thật dễ dàng? Mát mẻ! Chỉ register_canonical_role trông đẹp hơn như một trang trí @canonical_role;) – c089

+0

Bạn cũng có thể sử dụng vai trò 'traclinks' từ kho lưu trữ các phần mở rộng Sphinx đã đóng góp: https://bitbucket.org/birkenfeld/sphinx-contrib/src – Eric3

4

Nhân sư 1.0 giờ hỗ trợ external links bằng cách sử dụng phần mở rộng extlinks. Sử dụng tên vai trò có thể định cấu hình (ví dụ: 'vấn đề'), bạn có thể viết các liên kết của mình như:

:issue:`123` 

và nó sẽ được chuyển thành http://mytracsite/123.

Các vấn đề liên quan