Merge remote-tracking branch 'origin/master' into is315
[mediagoblin.git] / docs / mgext / youcanhelp.py
CommitLineData
9610848c
WKG
1from docutils import nodes
2
3from sphinx.util.compat import Directive, make_admonition
4
5class youcanhelp_node(nodes.Admonition, nodes.Element):
6 pass
7
8class YouCanHelp(Directive):
9 has_content = True
10 required_arguments = 0
11 optional_arguments = 0
12 final_argument_whitespace = False
13 option_spec = {}
14
15 def run(self):
16 ad = make_admonition(
17 youcanhelp_node,
18 self.name,
19 ["You Can Help!"],
20 self.options,
21 self.content,
22 self.lineno,
23 self.content_offset,
24 self.block_text,
25 self.state,
26 self.state_machine)
27 ad[0].line = self.lineno
28 return ad
29
30def visit_youcanhelp_node(self, node):
31 self.visit_admonition(node)
32
33def depart_youcanhelp_node(self, node):
34 self.depart_admonition(node)
35
36def setup(app):
37 app.add_node(
38 youcanhelp_node,
39 html=(visit_youcanhelp_node, depart_youcanhelp_node),
40 latex=(visit_youcanhelp_node, depart_youcanhelp_node),
41 text=(visit_youcanhelp_node, depart_youcanhelp_node)
42 )
43
44 app.add_directive('youcanhelp', YouCanHelp)