Mercurial > repos > guerler > springsuite
comparison planemo/lib/python3.7/site-packages/docutils/parsers/rst/directives/admonitions.py @ 0:d30785e31577 draft
"planemo upload commit 6eee67778febed82ddd413c3ca40b3183a3898f1"
author | guerler |
---|---|
date | Fri, 31 Jul 2020 00:18:57 -0400 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:d30785e31577 |
---|---|
1 # $Id: admonitions.py 7681 2013-07-12 07:52:27Z milde $ | |
2 # Author: David Goodger <goodger@python.org> | |
3 # Copyright: This module has been placed in the public domain. | |
4 | |
5 """ | |
6 Admonition directives. | |
7 """ | |
8 | |
9 __docformat__ = 'reStructuredText' | |
10 | |
11 | |
12 from docutils.parsers.rst import Directive | |
13 from docutils.parsers.rst import states, directives | |
14 from docutils.parsers.rst.roles import set_classes | |
15 from docutils import nodes | |
16 | |
17 | |
18 class BaseAdmonition(Directive): | |
19 | |
20 final_argument_whitespace = True | |
21 option_spec = {'class': directives.class_option, | |
22 'name': directives.unchanged} | |
23 has_content = True | |
24 | |
25 node_class = None | |
26 """Subclasses must set this to the appropriate admonition node class.""" | |
27 | |
28 def run(self): | |
29 set_classes(self.options) | |
30 self.assert_has_content() | |
31 text = '\n'.join(self.content) | |
32 admonition_node = self.node_class(text, **self.options) | |
33 self.add_name(admonition_node) | |
34 if self.node_class is nodes.admonition: | |
35 title_text = self.arguments[0] | |
36 textnodes, messages = self.state.inline_text(title_text, | |
37 self.lineno) | |
38 title = nodes.title(title_text, '', *textnodes) | |
39 title.source, title.line = ( | |
40 self.state_machine.get_source_and_line(self.lineno)) | |
41 admonition_node += title | |
42 admonition_node += messages | |
43 if not 'classes' in self.options: | |
44 admonition_node['classes'] += ['admonition-' + | |
45 nodes.make_id(title_text)] | |
46 self.state.nested_parse(self.content, self.content_offset, | |
47 admonition_node) | |
48 return [admonition_node] | |
49 | |
50 | |
51 class Admonition(BaseAdmonition): | |
52 | |
53 required_arguments = 1 | |
54 node_class = nodes.admonition | |
55 | |
56 | |
57 class Attention(BaseAdmonition): | |
58 | |
59 node_class = nodes.attention | |
60 | |
61 | |
62 class Caution(BaseAdmonition): | |
63 | |
64 node_class = nodes.caution | |
65 | |
66 | |
67 class Danger(BaseAdmonition): | |
68 | |
69 node_class = nodes.danger | |
70 | |
71 | |
72 class Error(BaseAdmonition): | |
73 | |
74 node_class = nodes.error | |
75 | |
76 | |
77 class Hint(BaseAdmonition): | |
78 | |
79 node_class = nodes.hint | |
80 | |
81 | |
82 class Important(BaseAdmonition): | |
83 | |
84 node_class = nodes.important | |
85 | |
86 | |
87 class Note(BaseAdmonition): | |
88 | |
89 node_class = nodes.note | |
90 | |
91 | |
92 class Tip(BaseAdmonition): | |
93 | |
94 node_class = nodes.tip | |
95 | |
96 | |
97 class Warning(BaseAdmonition): | |
98 | |
99 node_class = nodes.warning |