diff options
author | Georg Brandl <georg@python.org> | 2008-03-16 11:19:26 +0000 |
---|---|---|
committer | Georg Brandl <georg@python.org> | 2008-03-16 11:19:26 +0000 |
commit | ca528099f673fcc98c36004a56cff6a21b5c61e4 (patch) | |
tree | 24bd20c728be044d2acf74d1426ea3624b8e8e8e /doc/ext.py | |
parent | 14da7605e4be71f6370e80375a33d6f4ab012b74 (diff) | |
download | sphinx-git-ca528099f673fcc98c36004a56cff6a21b5c61e4.tar.gz |
Update documentation, add more content.
Diffstat (limited to 'doc/ext.py')
-rw-r--r-- | doc/ext.py | 38 |
1 files changed, 36 insertions, 2 deletions
diff --git a/doc/ext.py b/doc/ext.py index 581ea476a..460f1da28 100644 --- a/doc/ext.py +++ b/doc/ext.py @@ -1,4 +1,38 @@ +# -*- coding: utf-8 -*- +""" + ext.py -- Sphinx extension for the Sphinx documentation + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + :copyright: 2008 by Georg Brandl. + :license: BSD. +""" + +import re + +from sphinx import addnodes + +dir_sig_re = re.compile(r'\.\. ([^:]+)::(.*)$') + +def parse_directive(sig, signode): + if not sig.startswith('.'): + sig = '.. %s::' % sig + signode += addnodes.desc_name(sig, sig) + return + m = dir_sig_re.match(sig) + if not m: + signode += addnodes.desc_name(sig, sig) + return + name, args = m.groups() + name = '.. %s::' % name + signode += addnodes.desc_name(name, name) + signode += addnodes.desc_classname(args, args) + + +def parse_role(sig, signode): + signode += addnodes.desc_name(':%s:' % sig, ':%s:' % sig) + + def setup(app): - app.add_description_unit('directive', 'dir', 'directive') - app.add_description_unit('role', 'role', 'role') + app.add_description_unit('directive', 'dir', 'directive', parse_directive) + app.add_description_unit('role', 'role', 'role', parse_role) app.add_description_unit('confval', 'confval', 'configuration value') |