author | Dmitriy Morozov <dmitriy@mrzv.org> |
Mon, 06 Mar 2023 12:48:28 -0800 | |
changeset 301 | 41d5aeb87565 |
parent 134 | c270826fd4a8 |
permissions | -rw-r--r-- |
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)