1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
|
"""
A Sphinx extension adding a 'css' role creating links to
the spec’s railroad diagrams.
"""
from docutils import nodes
def role_fn(_name, rawtext, text, lineno, inliner, options={}, content=()):
ref = 'http://dev.w3.org/csswg/css-syntax-3/#%s-diagram' % text.replace(
' ', '-')
if text.endswith(('-token', '-block')):
text = '<%s>' % text
ref = nodes.reference(rawtext, text, refuri=ref, **options)
return [ref], []
def setup(app):
app.add_role_to_domain('py', 'diagram', role_fn)
|