doc/ext/sfile.py
author Dmitriy Morozov <dmitriy@mrzv.org>
Sun, 20 Dec 2009 10:43:00 -0800
branchdev
changeset 183 0ca59b0ebc47
parent 134 c270826fd4a8
permissions -rw-r--r--
Moved files around: lsvineyard.h -> include/topology, examples/grid -> examples/pl-functions

from docutils import nodes, utils
import posixpath

def sfile_role(typ, rawtext, etext, lineno, inliner, options={}, content=[]):
    env = inliner.document.settings.env
    baseuri = env.config.sfile_base_uri
    text = utils.unescape(etext)
    refnode = nodes.reference('', '', refuri=posixpath.join(baseuri, text))
    refnode += nodes.literal(text, text)
    return [refnode], []

def setup(app):
    app.add_role('sfile', sfile_role)
    app.add_config_value('sfile_base_uri', 'http://example.com/source', True)