summaryrefslogtreecommitdiffstats
path: root/Doc/tools/extensions
diff options
context:
space:
mode:
authorCheryl Sabella <cheryl.sabella@gmail.com>2018-10-12 14:55:20 (GMT)
committerVictor Stinner <vstinner@redhat.com>2018-10-12 14:55:20 (GMT)
commit2d6097d027e0dd3debbabc702aa9c98d94ba32a3 (patch)
tree283b237b7e8da5afa68b5d79792d61f8d60596ac /Doc/tools/extensions
parentda2bf9f66d0c95b988c5d87646d168f65499b316 (diff)
downloadcpython-2d6097d027e0dd3debbabc702aa9c98d94ba32a3.zip
cpython-2d6097d027e0dd3debbabc702aa9c98d94ba32a3.tar.gz
cpython-2d6097d027e0dd3debbabc702aa9c98d94ba32a3.tar.bz2
bpo-11233: Create availability directive for documentation (GH-9692)
Replace "Availability: xxx" with ".. availability:: xxx" in the doc. Original patch by Georg Brandl. Co-Authored-By: Georg Brandl <georg@python.org>
Diffstat (limited to 'Doc/tools/extensions')
-rw-r--r--Doc/tools/extensions/pyspecific.py20
1 files changed, 20 insertions, 0 deletions
diff --git a/Doc/tools/extensions/pyspecific.py b/Doc/tools/extensions/pyspecific.py
index 8036daa..132920f 100644
--- a/Doc/tools/extensions/pyspecific.py
+++ b/Doc/tools/extensions/pyspecific.py
@@ -131,6 +131,25 @@ class ImplementationDetail(Directive):
return [pnode]
+# Support for documenting platform availability
+
+class Availability(Directive):
+
+ has_content = False
+ required_arguments = 1
+ optional_arguments = 0
+ final_argument_whitespace = True
+
+ def run(self):
+ pnode = nodes.paragraph(classes=['availability'])
+ n, m = self.state.inline_text(':ref:`Availability <availability>`: ',
+ self.lineno)
+ pnode.extend(n + m)
+ n, m = self.state.inline_text(self.arguments[0], self.lineno)
+ pnode.extend(n + m)
+ return [pnode]
+
+
# Support for documenting decorators
class PyDecoratorMixin(object):
@@ -401,6 +420,7 @@ def setup(app):
app.add_role('issue', issue_role)
app.add_role('source', source_role)
app.add_directive('impl-detail', ImplementationDetail)
+ app.add_directive('availability', Availability)
app.add_directive('deprecated-removed', DeprecatedRemoved)
app.add_builder(PydocTopicsBuilder)
app.add_builder(suspicious.CheckSuspiciousMarkupBuilder)