summaryrefslogtreecommitdiff
path: root/tests/root/conf.py
diff options
context:
space:
mode:
authorGeorg Brandl <georg@python.org>2009-10-27 19:42:44 +0100
committerGeorg Brandl <georg@python.org>2009-10-27 19:42:44 +0100
commit213eba02250d003ebd25d2e883ffcc69b37fbd5d (patch)
treecc1c949b1320839c2c6c85f373a731ee481319f4 /tests/root/conf.py
parent414816bb373379cf1ca8f4b6ef21a329fff1270f (diff)
downloadsphinx-git-213eba02250d003ebd25d2e883ffcc69b37fbd5d.tar.gz
Automatically convert directive functions, and add a test for that.
Diffstat (limited to 'tests/root/conf.py')
-rw-r--r--tests/root/conf.py16
1 files changed, 16 insertions, 0 deletions
diff --git a/tests/root/conf.py b/tests/root/conf.py
index d268ae3a5..dbb2bca7e 100644
--- a/tests/root/conf.py
+++ b/tests/root/conf.py
@@ -58,7 +58,12 @@ autosummary_generate = ['autosummary']
# modify tags from conf.py
tags.add('confpytag')
+
+# -- extension API
+
+from docutils import nodes
from sphinx import addnodes
+from sphinx.util.compat import Directive
def userdesc_parse(env, sig, signode):
x, y = sig.split(':')
@@ -67,7 +72,18 @@ def userdesc_parse(env, sig, signode):
signode[-1] += addnodes.desc_parameter(y, y)
return x
+def functional_directive(name, arguments, options, content, lineno,
+ content_offset, block_text, state, state_machine):
+ return [nodes.strong(text='from function: %s' % options['opt'])]
+
+class ClassDirective(Directive):
+ option_spec = {'opt': lambda x: x}
+ def run(self):
+ return [nodes.strong(text='from class: %s' % self.options['opt'])]
+
def setup(app):
app.add_config_value('value_from_conf_py', 42, False)
+ app.add_directive('funcdir', functional_directive, opt=lambda x: x)
+ app.add_directive('clsdir', ClassDirective)
app.add_description_unit('userdesc', 'userdescrole', '%s (userdesc)',
userdesc_parse)