annotate .cms/lib/codemirror/mode/rst/index.html @ 1:1d486627aa1e draft default tip

24.10
author Coffee CMS <info@coffee-cms.ru>
date Sat, 12 Oct 2024 02:51:39 +0000
parents 78edf6b517a0
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
1 <!doctype html>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
2
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
3 <title>CodeMirror: reStructuredText mode</title>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
4 <meta charset="utf-8"/>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
5 <link rel=stylesheet href="../../doc/docs.css">
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
6
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
7 <link rel="stylesheet" href="../../lib/codemirror.css">
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
8 <script src="../../lib/codemirror.js"></script>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
9 <script src="../../addon/mode/overlay.js"></script>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
10 <script src="rst.js"></script>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
11 <style>.CodeMirror {border-top: 1px solid black; border-bottom: 1px solid black;}</style>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
12 <div id=nav>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
13 <a href="https://codemirror.net/5"><h1>CodeMirror</h1><img id=logo src="../../doc/logo.png" alt=""></a>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
14
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
15 <ul>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
16 <li><a href="../../index.html">Home</a>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
17 <li><a href="../../doc/manual.html">Manual</a>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
18 <li><a href="https://github.com/codemirror/codemirror5">Code</a>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
19 </ul>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
20 <ul>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
21 <li><a href="../index.html">Language modes</a>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
22 <li><a class=active href="#">reStructuredText</a>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
23 </ul>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
24 </div>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
25
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
26 <article>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
27 <h2>reStructuredText mode</h2>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
28 <form><textarea id="code" name="code">
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
29 .. This is an excerpt from Sphinx documentation: http://sphinx.pocoo.org/_sources/rest.txt
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
30
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
31 .. highlightlang:: rest
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
32
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
33 .. _rst-primer:
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
34
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
35 reStructuredText Primer
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
36 =======================
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
37
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
38 This section is a brief introduction to reStructuredText (reST) concepts and
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
39 syntax, intended to provide authors with enough information to author documents
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
40 productively. Since reST was designed to be a simple, unobtrusive markup
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
41 language, this will not take too long.
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
42
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
43 .. seealso::
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
44
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
45 The authoritative `reStructuredText User Documentation
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
46 &lt;http://docutils.sourceforge.net/rst.html&gt;`_. The "ref" links in this
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
47 document link to the description of the individual constructs in the reST
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
48 reference.
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
49
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
50
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
51 Paragraphs
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
52 ----------
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
53
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
54 The paragraph (:duref:`ref &lt;paragraphs&gt;`) is the most basic block in a reST
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
55 document. Paragraphs are simply chunks of text separated by one or more blank
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
56 lines. As in Python, indentation is significant in reST, so all lines of the
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
57 same paragraph must be left-aligned to the same level of indentation.
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
58
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
59
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
60 .. _inlinemarkup:
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
61
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
62 Inline markup
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
63 -------------
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
64
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
65 The standard reST inline markup is quite simple: use
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
66
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
67 * one asterisk: ``*text*`` for emphasis (italics),
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
68 * two asterisks: ``**text**`` for strong emphasis (boldface), and
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
69 * backquotes: ````text```` for code samples.
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
70
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
71 If asterisks or backquotes appear in running text and could be confused with
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
72 inline markup delimiters, they have to be escaped with a backslash.
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
73
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
74 Be aware of some restrictions of this markup:
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
75
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
76 * it may not be nested,
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
77 * content may not start or end with whitespace: ``* text*`` is wrong,
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
78 * it must be separated from surrounding text by non-word characters. Use a
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
79 backslash escaped space to work around that: ``thisis\ *one*\ word``.
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
80
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
81 These restrictions may be lifted in future versions of the docutils.
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
82
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
83 reST also allows for custom "interpreted text roles"', which signify that the
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
84 enclosed text should be interpreted in a specific way. Sphinx uses this to
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
85 provide semantic markup and cross-referencing of identifiers, as described in
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
86 the appropriate section. The general syntax is ``:rolename:`content```.
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
87
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
88 Standard reST provides the following roles:
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
89
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
90 * :durole:`emphasis` -- alternate spelling for ``*emphasis*``
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
91 * :durole:`strong` -- alternate spelling for ``**strong**``
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
92 * :durole:`literal` -- alternate spelling for ````literal````
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
93 * :durole:`subscript` -- subscript text
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
94 * :durole:`superscript` -- superscript text
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
95 * :durole:`title-reference` -- for titles of books, periodicals, and other
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
96 materials
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
97
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
98 See :ref:`inline-markup` for roles added by Sphinx.
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
99
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
100
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
101 Lists and Quote-like blocks
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
102 ---------------------------
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
103
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
104 List markup (:duref:`ref &lt;bullet-lists&gt;`) is natural: just place an asterisk at
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
105 the start of a paragraph and indent properly. The same goes for numbered lists;
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
106 they can also be autonumbered using a ``#`` sign::
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
107
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
108 * This is a bulleted list.
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
109 * It has two items, the second
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
110 item uses two lines.
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
111
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
112 1. This is a numbered list.
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
113 2. It has two items too.
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
114
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
115 #. This is a numbered list.
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
116 #. It has two items too.
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
117
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
118
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
119 Nested lists are possible, but be aware that they must be separated from the
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
120 parent list items by blank lines::
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
121
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
122 * this is
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
123 * a list
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
124
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
125 * with a nested list
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
126 * and some subitems
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
127
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
128 * and here the parent list continues
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
129
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
130 Definition lists (:duref:`ref &lt;definition-lists&gt;`) are created as follows::
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
131
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
132 term (up to a line of text)
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
133 Definition of the term, which must be indented
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
134
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
135 and can even consist of multiple paragraphs
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
136
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
137 next term
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
138 Description.
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
139
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
140 Note that the term cannot have more than one line of text.
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
141
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
142 Quoted paragraphs (:duref:`ref &lt;block-quotes&gt;`) are created by just indenting
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
143 them more than the surrounding paragraphs.
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
144
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
145 Line blocks (:duref:`ref &lt;line-blocks&gt;`) are a way of preserving line breaks::
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
146
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
147 | These lines are
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
148 | broken exactly like in
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
149 | the source file.
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
150
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
151 There are also several more special blocks available:
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
152
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
153 * field lists (:duref:`ref &lt;field-lists&gt;`)
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
154 * option lists (:duref:`ref &lt;option-lists&gt;`)
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
155 * quoted literal blocks (:duref:`ref &lt;quoted-literal-blocks&gt;`)
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
156 * doctest blocks (:duref:`ref &lt;doctest-blocks&gt;`)
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
157
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
158
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
159 Source Code
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
160 -----------
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
161
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
162 Literal code blocks (:duref:`ref &lt;literal-blocks&gt;`) are introduced by ending a
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
163 paragraph with the special marker ``::``. The literal block must be indented
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
164 (and, like all paragraphs, separated from the surrounding ones by blank lines)::
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
165
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
166 This is a normal text paragraph. The next paragraph is a code sample::
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
167
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
168 It is not processed in any way, except
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
169 that the indentation is removed.
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
170
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
171 It can span multiple lines.
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
172
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
173 This is a normal text paragraph again.
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
174
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
175 The handling of the ``::`` marker is smart:
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
176
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
177 * If it occurs as a paragraph of its own, that paragraph is completely left
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
178 out of the document.
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
179 * If it is preceded by whitespace, the marker is removed.
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
180 * If it is preceded by non-whitespace, the marker is replaced by a single
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
181 colon.
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
182
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
183 That way, the second sentence in the above example's first paragraph would be
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
184 rendered as "The next paragraph is a code sample:".
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
185
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
186
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
187 .. _rst-tables:
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
188
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
189 Tables
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
190 ------
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
191
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
192 Two forms of tables are supported. For *grid tables* (:duref:`ref
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
193 &lt;grid-tables&gt;`), you have to "paint" the cell grid yourself. They look like
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
194 this::
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
195
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
196 +------------------------+------------+----------+----------+
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
197 | Header row, column 1 | Header 2 | Header 3 | Header 4 |
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
198 | (header rows optional) | | | |
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
199 +========================+============+==========+==========+
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
200 | body row 1, column 1 | column 2 | column 3 | column 4 |
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
201 +------------------------+------------+----------+----------+
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
202 | body row 2 | ... | ... | |
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
203 +------------------------+------------+----------+----------+
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
204
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
205 *Simple tables* (:duref:`ref &lt;simple-tables&gt;`) are easier to write, but
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
206 limited: they must contain more than one row, and the first column cannot
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
207 contain multiple lines. They look like this::
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
208
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
209 ===== ===== =======
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
210 A B A and B
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
211 ===== ===== =======
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
212 False False False
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
213 True False False
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
214 False True False
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
215 True True True
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
216 ===== ===== =======
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
217
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
218
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
219 Hyperlinks
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
220 ----------
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
221
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
222 External links
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
223 ^^^^^^^^^^^^^^
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
224
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
225 Use ```Link text &lt;http://example.com/&gt;`_`` for inline web links. If the link
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
226 text should be the web address, you don't need special markup at all, the parser
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
227 finds links and mail addresses in ordinary text.
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
228
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
229 You can also separate the link and the target definition (:duref:`ref
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
230 &lt;hyperlink-targets&gt;`), like this::
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
231
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
232 This is a paragraph that contains `a link`_.
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
233
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
234 .. _a link: http://example.com/
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
235
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
236
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
237 Internal links
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
238 ^^^^^^^^^^^^^^
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
239
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
240 Internal linking is done via a special reST role provided by Sphinx, see the
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
241 section on specific markup, :ref:`ref-role`.
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
242
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
243
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
244 Sections
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
245 --------
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
246
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
247 Section headers (:duref:`ref &lt;sections&gt;`) are created by underlining (and
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
248 optionally overlining) the section title with a punctuation character, at least
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
249 as long as the text::
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
250
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
251 =================
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
252 This is a heading
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
253 =================
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
254
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
255 Normally, there are no heading levels assigned to certain characters as the
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
256 structure is determined from the succession of headings. However, for the
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
257 Python documentation, this convention is used which you may follow:
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
258
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
259 * ``#`` with overline, for parts
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
260 * ``*`` with overline, for chapters
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
261 * ``=``, for sections
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
262 * ``-``, for subsections
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
263 * ``^``, for subsubsections
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
264 * ``"``, for paragraphs
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
265
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
266 Of course, you are free to use your own marker characters (see the reST
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
267 documentation), and use a deeper nesting level, but keep in mind that most
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
268 target formats (HTML, LaTeX) have a limited supported nesting depth.
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
269
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
270
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
271 Explicit Markup
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
272 ---------------
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
273
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
274 "Explicit markup" (:duref:`ref &lt;explicit-markup-blocks&gt;`) is used in reST for
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
275 most constructs that need special handling, such as footnotes,
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
276 specially-highlighted paragraphs, comments, and generic directives.
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
277
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
278 An explicit markup block begins with a line starting with ``..`` followed by
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
279 whitespace and is terminated by the next paragraph at the same level of
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
280 indentation. (There needs to be a blank line between explicit markup and normal
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
281 paragraphs. This may all sound a bit complicated, but it is intuitive enough
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
282 when you write it.)
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
283
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
284
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
285 .. _directives:
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
286
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
287 Directives
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
288 ----------
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
289
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
290 A directive (:duref:`ref &lt;directives&gt;`) is a generic block of explicit markup.
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
291 Besides roles, it is one of the extension mechanisms of reST, and Sphinx makes
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
292 heavy use of it.
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
293
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
294 Docutils supports the following directives:
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
295
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
296 * Admonitions: :dudir:`attention`, :dudir:`caution`, :dudir:`danger`,
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
297 :dudir:`error`, :dudir:`hint`, :dudir:`important`, :dudir:`note`,
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
298 :dudir:`tip`, :dudir:`warning` and the generic :dudir:`admonition`.
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
299 (Most themes style only "note" and "warning" specially.)
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
300
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
301 * Images:
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
302
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
303 - :dudir:`image` (see also Images_ below)
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
304 - :dudir:`figure` (an image with caption and optional legend)
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
305
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
306 * Additional body elements:
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
307
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
308 - :dudir:`contents` (a local, i.e. for the current file only, table of
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
309 contents)
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
310 - :dudir:`container` (a container with a custom class, useful to generate an
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
311 outer ``&lt;div&gt;`` in HTML)
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
312 - :dudir:`rubric` (a heading without relation to the document sectioning)
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
313 - :dudir:`topic`, :dudir:`sidebar` (special highlighted body elements)
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
314 - :dudir:`parsed-literal` (literal block that supports inline markup)
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
315 - :dudir:`epigraph` (a block quote with optional attribution line)
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
316 - :dudir:`highlights`, :dudir:`pull-quote` (block quotes with their own
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
317 class attribute)
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
318 - :dudir:`compound` (a compound paragraph)
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
319
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
320 * Special tables:
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
321
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
322 - :dudir:`table` (a table with title)
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
323 - :dudir:`csv-table` (a table generated from comma-separated values)
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
324 - :dudir:`list-table` (a table generated from a list of lists)
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
325
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
326 * Special directives:
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
327
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
328 - :dudir:`raw` (include raw target-format markup)
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
329 - :dudir:`include` (include reStructuredText from another file)
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
330 -- in Sphinx, when given an absolute include file path, this directive takes
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
331 it as relative to the source directory
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
332 - :dudir:`class` (assign a class attribute to the next element) [1]_
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
333
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
334 * HTML specifics:
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
335
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
336 - :dudir:`meta` (generation of HTML ``&lt;meta&gt;`` tags)
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
337 - :dudir:`title` (override document title)
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
338
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
339 * Influencing markup:
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
340
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
341 - :dudir:`default-role` (set a new default role)
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
342 - :dudir:`role` (create a new role)
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
343
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
344 Since these are only per-file, better use Sphinx' facilities for setting the
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
345 :confval:`default_role`.
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
346
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
347 Do *not* use the directives :dudir:`sectnum`, :dudir:`header` and
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
348 :dudir:`footer`.
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
349
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
350 Directives added by Sphinx are described in :ref:`sphinxmarkup`.
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
351
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
352 Basically, a directive consists of a name, arguments, options and content. (Keep
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
353 this terminology in mind, it is used in the next chapter describing custom
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
354 directives.) Looking at this example, ::
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
355
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
356 .. function:: foo(x)
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
357 foo(y, z)
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
358 :module: some.module.name
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
359
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
360 Return a line of text input from the user.
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
361
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
362 ``function`` is the directive name. It is given two arguments here, the
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
363 remainder of the first line and the second line, as well as one option
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
364 ``module`` (as you can see, options are given in the lines immediately following
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
365 the arguments and indicated by the colons). Options must be indented to the
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
366 same level as the directive content.
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
367
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
368 The directive content follows after a blank line and is indented relative to the
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
369 directive start.
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
370
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
371
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
372 Images
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
373 ------
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
374
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
375 reST supports an image directive (:dudir:`ref &lt;image&gt;`), used like so::
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
376
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
377 .. image:: gnu.png
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
378 (options)
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
379
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
380 When used within Sphinx, the file name given (here ``gnu.png``) must either be
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
381 relative to the source file, or absolute which means that they are relative to
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
382 the top source directory. For example, the file ``sketch/spam.rst`` could refer
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
383 to the image ``images/spam.png`` as ``../images/spam.png`` or
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
384 ``/images/spam.png``.
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
385
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
386 Sphinx will automatically copy image files over to a subdirectory of the output
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
387 directory on building (e.g. the ``_static`` directory for HTML output.)
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
388
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
389 Interpretation of image size options (``width`` and ``height``) is as follows:
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
390 if the size has no unit or the unit is pixels, the given size will only be
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
391 respected for output channels that support pixels (i.e. not in LaTeX output).
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
392 Other units (like ``pt`` for points) will be used for HTML and LaTeX output.
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
393
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
394 Sphinx extends the standard docutils behavior by allowing an asterisk for the
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
395 extension::
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
396
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
397 .. image:: gnu.*
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
398
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
399 Sphinx then searches for all images matching the provided pattern and determines
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
400 their type. Each builder then chooses the best image out of these candidates.
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
401 For instance, if the file name ``gnu.*`` was given and two files :file:`gnu.pdf`
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
402 and :file:`gnu.png` existed in the source tree, the LaTeX builder would choose
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
403 the former, while the HTML builder would prefer the latter.
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
404
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
405 .. versionchanged:: 0.4
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
406 Added the support for file names ending in an asterisk.
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
407
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
408 .. versionchanged:: 0.6
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
409 Image paths can now be absolute.
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
410
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
411
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
412 Footnotes
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
413 ---------
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
414
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
415 For footnotes (:duref:`ref &lt;footnotes&gt;`), use ``[#name]_`` to mark the footnote
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
416 location, and add the footnote body at the bottom of the document after a
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
417 "Footnotes" rubric heading, like so::
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
418
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
419 Lorem ipsum [#f1]_ dolor sit amet ... [#f2]_
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
420
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
421 .. rubric:: Footnotes
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
422
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
423 .. [#f1] Text of the first footnote.
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
424 .. [#f2] Text of the second footnote.
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
425
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
426 You can also explicitly number the footnotes (``[1]_``) or use auto-numbered
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
427 footnotes without names (``[#]_``).
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
428
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
429
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
430 Citations
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
431 ---------
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
432
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
433 Standard reST citations (:duref:`ref &lt;citations&gt;`) are supported, with the
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
434 additional feature that they are "global", i.e. all citations can be referenced
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
435 from all files. Use them like so::
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
436
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
437 Lorem ipsum [Ref]_ dolor sit amet.
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
438
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
439 .. [Ref] Book or article reference, URL or whatever.
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
440
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
441 Citation usage is similar to footnote usage, but with a label that is not
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
442 numeric or begins with ``#``.
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
443
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
444
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
445 Substitutions
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
446 -------------
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
447
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
448 reST supports "substitutions" (:duref:`ref &lt;substitution-definitions&gt;`), which
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
449 are pieces of text and/or markup referred to in the text by ``|name|``. They
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
450 are defined like footnotes with explicit markup blocks, like this::
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
451
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
452 .. |name| replace:: replacement *text*
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
453
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
454 or this::
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
455
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
456 .. |caution| image:: warning.png
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
457 :alt: Warning!
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
458
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
459 See the :duref:`reST reference for substitutions &lt;substitution-definitions&gt;`
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
460 for details.
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
461
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
462 If you want to use some substitutions for all documents, put them into
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
463 :confval:`rst_prolog` or put them into a separate file and include it into all
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
464 documents you want to use them in, using the :rst:dir:`include` directive. (Be
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
465 sure to give the include file a file name extension differing from that of other
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
466 source files, to avoid Sphinx finding it as a standalone document.)
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
467
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
468 Sphinx defines some default substitutions, see :ref:`default-substitutions`.
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
469
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
470
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
471 Comments
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
472 --------
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
473
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
474 Every explicit markup block which isn't a valid markup construct (like the
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
475 footnotes above) is regarded as a comment (:duref:`ref &lt;comments&gt;`). For
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
476 example::
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
477
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
478 .. This is a comment.
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
479
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
480 You can indent text after a comment start to form multiline comments::
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
481
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
482 ..
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
483 This whole indented block
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
484 is a comment.
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
485
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
486 Still in the comment.
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
487
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
488
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
489 Source encoding
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
490 ---------------
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
491
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
492 Since the easiest way to include special characters like em dashes or copyright
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
493 signs in reST is to directly write them as Unicode characters, one has to
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
494 specify an encoding. Sphinx assumes source files to be encoded in UTF-8 by
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
495 default; you can change this with the :confval:`source_encoding` config value.
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
496
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
497
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
498 Gotchas
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
499 -------
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
500
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
501 There are some problems one commonly runs into while authoring reST documents:
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
502
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
503 * **Separation of inline markup:** As said above, inline markup spans must be
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
504 separated from the surrounding text by non-word characters, you have to use a
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
505 backslash-escaped space to get around that. See `the reference
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
506 &lt;http://docutils.sf.net/docs/ref/rst/restructuredtext.html#inline-markup&gt;`_
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
507 for the details.
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
508
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
509 * **No nested inline markup:** Something like ``*see :func:`foo`*`` is not
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
510 possible.
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
511
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
512
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
513 .. rubric:: Footnotes
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
514
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
515 .. [1] When the default domain contains a :rst:dir:`class` directive, this directive
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
516 will be shadowed. Therefore, Sphinx re-exports it as :rst:dir:`rst-class`.
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
517 </textarea></form>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
518
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
519 <script>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
520 var editor = CodeMirror.fromTextArea(document.getElementById("code"), {
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
521 lineNumbers: true,
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
522 });
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
523 </script>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
524 <p>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
525 The <code>python</code> mode will be used for highlighting blocks
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
526 containing Python/IPython terminal sessions: blocks starting with
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
527 <code>&gt;&gt;&gt;</code> (for Python) or <code>In [num]:</code> (for
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
528 IPython).
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
529
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
530 Further, the <code>stex</code> mode will be used for highlighting
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
531 blocks containing LaTex code.
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
532 </p>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
533
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
534 <p><strong>MIME types defined:</strong> <code>text/x-rst</code>.</p>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
535 </article>