我想创建一个狮身人面像角色:config:`param`
,它显示为文字文本config["param"]
,同时也是一个链接。
我有一个基本的运行版本:
def config_role(name, rawtext, text, lineno, inliner, options={}, content=[]):
rendered = nodes.Text('config["{}"]'.format(text))
rel_source = inliner.document.attributes['source'].split('/doc/', 1)[1]
levels = rel_source.count('/')
refuri = ('../' * levels +
'tutorials/introductory/customizing.html#config')
ref = nodes.reference(rawtext, rendered, refuri=refuri)
return [nodes.literal('', '', ref)], []
def setup(app):
app.add_role("config", config_role)
return {"parallel_read_safe": True, "parallel_write_safe": True}
但是,有两个问题:
refuri
。可以像在.rst中使用:ref:`config`
一样使用链接锚吗?nodes.reference
具有不想要的效果,即用印刷引号代替了双引号。由于它在字面上,所以我宁愿使用普通的双引号。这可能吗?