diff options
| author | Tim Graham <timograham@gmail.com> | 2016-01-11 20:59:34 -0500 |
|---|---|---|
| committer | Tim Graham <timograham@gmail.com> | 2016-02-01 11:25:42 -0500 |
| commit | d7a6086825d4a308955e792f65fdd9b5f714a505 (patch) | |
| tree | 18d8ce5d96a3fe188ff1c6f7227baa56269befa9 /docs/_ext | |
| parent | 0495f44b8d7f971f228a5e180ab9bc4b08cf57c6 (diff) | |
[1.9.x] Fixed #23868 -- Added support for non-unique django-admin-options in docs.
Also documented missing short command line options to fix #24134. This bumps
the minimum sphinx version required to build the docs to 1.3.4.
Thanks Simon Charette for review.
Backport of e519aab43a419589e92fe284e4ce2f2e034aec6a from master
Diffstat (limited to 'docs/_ext')
| -rw-r--r-- | docs/_ext/djangodocs.py | 41 |
1 files changed, 4 insertions, 37 deletions
diff --git a/docs/_ext/djangodocs.py b/docs/_ext/djangodocs.py index fd93194d5e..4e97ad7ab0 100644 --- a/docs/_ext/djangodocs.py +++ b/docs/_ext/djangodocs.py @@ -9,6 +9,7 @@ from docutils import nodes from docutils.parsers.rst import directives from sphinx import __version__ as sphinx_ver, addnodes from sphinx.builders.html import StandaloneHTMLBuilder +from sphinx.domains.std import Cmdoption from sphinx.util.compat import Directive from sphinx.util.console import bold from sphinx.util.nodes import set_source_info @@ -46,12 +47,7 @@ def setup(app): indextemplate="pair: %s; django-admin command", parse_node=parse_django_admin_node, ) - app.add_description_unit( - directivename="django-admin-option", - rolename="djadminopt", - indextemplate="pair: %s; django-admin command-line option", - parse_node=parse_django_adminopt_node, - ) + app.add_directive('django-admin-option', Cmdoption) app.add_config_value('django_next_version', '0.0', True) app.add_directive('versionadded', VersionDirective) app.add_directive('versionchanged', VersionDirective) @@ -306,39 +302,10 @@ class DjangoHTMLTranslator(SmartyPantsHTMLTranslator): def parse_django_admin_node(env, sig, signode): command = sig.split(' ')[0] - env._django_curr_admin_command = command + env.ref_context['std:program'] = command title = "django-admin %s" % sig signode += addnodes.desc_name(title, title) - return sig - - -def parse_django_adminopt_node(env, sig, signode): - """A copy of sphinx.directives.CmdoptionDesc.parse_signature()""" - from sphinx.domains.std import option_desc_re - count = 0 - firstname = '' - for m in option_desc_re.finditer(sig): - optname, args = m.groups() - if count: - signode += addnodes.desc_addname(', ', ', ') - signode += addnodes.desc_name(optname, optname) - signode += addnodes.desc_addname(args, args) - if not count: - firstname = optname - count += 1 - if not count: - for m in simple_option_desc_re.finditer(sig): - optname, args = m.groups() - if count: - signode += addnodes.desc_addname(', ', ', ') - signode += addnodes.desc_name(optname, optname) - signode += addnodes.desc_addname(args, args) - if not count: - firstname = optname - count += 1 - if not firstname: - raise ValueError - return firstname + return command class DjangoStandaloneHTMLBuilder(StandaloneHTMLBuilder): |
