summaryrefslogtreecommitdiff
path: root/docs/_ext/djangodocs.py
diff options
context:
space:
mode:
authorTim Graham <timograham@gmail.com>2016-01-11 20:59:34 -0500
committerTim Graham <timograham@gmail.com>2016-01-14 18:21:33 -0500
commite519aab43a419589e92fe284e4ce2f2e034aec6a (patch)
treee1af3c01ca87ff9b639ac45ec97ac9869d273c43 /docs/_ext/djangodocs.py
parentfd1c5bb041abb617dc58c336a8461fb3a7af4508 (diff)
downloaddjango-e519aab43a419589e92fe284e4ce2f2e034aec6a.tar.gz
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.
Diffstat (limited to 'docs/_ext/djangodocs.py')
-rw-r--r--docs/_ext/djangodocs.py41
1 files changed, 4 insertions, 37 deletions
diff --git a/docs/_ext/djangodocs.py b/docs/_ext/djangodocs.py
index bc653f78fa..048363122f 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 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)
@@ -295,39 +291,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):