File: othermarkup.html

package info (click to toggle)
epydoc 3.0.1%2Bdfsg-5
  • links: PTS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 16,412 kB
  • ctags: 29,831
  • sloc: python: 14,318; makefile: 55; sh: 7
file content (214 lines) | stat: -rw-r--r-- 7,973 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<html> <head>
<title>Alternate Markup Languages</title>
<link rel="stylesheet" href="epydoc.css" type="text/css"/>
</head>
<!-- $Id: othermarkup.html 1526 2007-02-17 04:30:49Z dvarrazzo $ -->
<body>
<div class="body">
<h1>Alternate Markup Languages</h1>

<p> Epydoc's default markup language is <a
href="epytext.html">epytext</a>, a lightweight markup language that's
easy to write and to understand. But if epytext is not powerful enough
for you, or doesn't suit your needs, epydoc also supports three
alternate markup languages: </p>

<ul>
  <li><b><a href="http://docutils.sourceforge.net/rst.html"
  >reStructuredText</a></b> is an "easy-to-read,
  what-you-see-is-what-you-get plaintext markup syntax."  It is more
  powerful than epytext (e.g., it includes markup for tables and
  footnotes); but it is also more complex, and sometimes harder to
  read.</li>
  
  <li><b><a href="http://java.sun.com/j2se/javadoc/"
  >Javadoc</a></b> is a documentation markup language that was
  developed for Java.  It consists of HTML, augmented by a set of
  special tagged fields. </li>
  
  <li><b>Plaintext</b> docstrings are rendered verbatim (preserving
  whitespace).</li>
</ul>

<p> To specify the markup language for a module, you should define a
module-level string variable <code>__docformat__</code>, containing
the name of the module's markup language.  The name of the markup
language may optionally be followed by a language code (such as
<code>en</code> for English).  Conventionally, the definition of the
<code>__docformat__</code> variable immediately follows the module's
docstring: </p>

<div class="screen">
<pre>
<code class="comment"># widget.py</code>
<code class="string">"""
Graphical support for `gizmos` and `widgets`.
"""</code>
__docformat__ = <code class="string">"restructuredtext en"</code>
<i>[...]</i>
</pre></div>

<p> To change the default markup language from the command line, use
the <code>--docformat</code> option.  For example, the following
command generates API documentation for the existing regular
expression package <code>re</code>, which uses plaintext markup: </p>

<div class="screen"><pre>
<code class="prompt">[epydoc]$</code> epydoc --docformat plaintext re
</pre></div>

<a name="restructuredtext">
<h2>reStructuredText</h2></a>

<p> reStructuredText is a markup language that was developed in
conjunction with <a
href="http://docutils.sourceforge.net">Docutils</a>.  In order to
parse reStructuredText docstrings, Docutils 0.3 or higher must be
installed.  If Docutils is not installed, then reStructuredText
docstrings will be rendered as plaintext.  Docutils can be downloaded
from the <a
href="http://sourceforge.net/project/showfiles.php?group_id=38414">Docutils
SourceForge page</a>. </p>

<p> In addition to the <a href="fields.html#fields">standard set of
fields</a>, the reStructruedText parser also supports
<i>consolidated</i> fields, which combine the documentation for
several objects into a single field.  For more information, see the
markup-specific notes for <a href="fields.html#rst">reStructuredText
fields</a>. </p>

<p> The epydoc reStructuredText reader also defines several custom <a
href="http://docutils.sourceforge.net/docs/user/rst/quickref.html#directives">directives</a>,
which can be used to automatically generate a variety of graphs.  The
following custom directives are currently defined:</p>

<table border="1" cellspacing="0" cellpadding="3" width="95%">
<tr><th width="10%">Directive</th><th width="90%">Description</th></tr>

<tr valign="top"><td><pre>
.. classtree:: [<code class="user">classes...</code>]
    :dir: <code class="user">up|down|left|right</code>
</pre></td>
<td>
Display a class hierarchy for the given class or classes (including
all superclasses &amp; subclasses).  If no class is specified, and the
directive is used in a class's docstring, then that class's class
hierarchy will be displayed.  The <code>dir</code> option specifies
the orientation for the graph (default=<code>down</code>).
</td></tr>

<tr valign="top"><td><pre>
.. packagetree:: [<code class="user">modules...</code>]
    :dir: <code class="user">up|down|left|right</code>
    :style: <code class="user">uml|tree</code>
</pre></td>
<td>
Display a package hierarchy for the given module or modules (including
all subpackages and submodules).  If no module is specified, and the
directive is used in a module's docstring, then that module's package
hierarchy will be displayed.  The <code>dir</code> option specifies
the orientation for the graph (default=<code>down</code>).  The
<code>style</code> option specifies whether packages should be
displayed in a tree, or using nested UML symbols.
</td></tr>

<tr valign="top"><td><pre>
.. importgraph:: [<code class="user">modules...</code>]
    :dir: <code class="user">up|down|left|right</code>
</pre></td>
<td>
Display an import graph for the given module or modules.  If no module
is specified, and the directive is used in a module's docstring, then
that module's import graph will be displayed.  The <code>dir</code>
option specifies the orientation for the graph
(default=<code>left</code>).
</td></tr>

<tr valign="top"><td><pre>
.. callgraph:: [<code class="user">functions...</code>]
    :dir: <code class="user">up|down|left|right</code>
</pre></td>
<td>
Display a call graph for the given function or functions.  If no function
is specified, and the directive is used in a function's docstring, then
that function's call graph will be displayed.  The
<code>dir</code> option specifies the orientation for the graph
(default=<code>right</code>).
</td></tr>

<tr valign="top"><td><pre>
.. dotgraph:: [<code class="user">title...</code>]
    :caption: <code class="user">text...</code>
    <code class="user">graph...</code>
</pre></td>
<td>

Display a custom Graphviz dot graph.  The body of the directive
(<code>graph...</code>) should contain the body of a dot graph.  The
optional <code>title</code> argument, if specified, is used as the
title of the graph.  The optional <code>caption</code> option can be
used to provide a caption for the graph.


</td></tr>


</table>




<h2>Javadoc</h2>

<p><a href="http://java.sun.com/j2se/javadoc/"
  >Javadoc</a> is a markup language developed by Sun Microsystems
  for documenting Java APIs.  The epydoc implementation of Javadoc is
  based on the <a
  href="http://java.sun.com/j2se/1.4.2/docs/tooldocs/solaris/javadoc.html">Javadoc
  1.4.2 reference documentation</a>.  However, there are likely to be
  some minor incompatibilities between Sun's implementation and
  epydoc's.  Known incompatibilities include: </p>

<ul>
 <li> Epydoc does not support the Javadoc block tag
 <code>@serial</code>.</li>

 <li> Epydoc does not support the following Javadoc inline tags:
 <code>{@docroot}</code>, <code>{@inheritdoc}</code>,
 <code>{@value}</code>.
 
  <li> Epydoc adds many field tags that Sun does not include, such as
  <code>@var</code>, <code>@type</code>, and
  <code>@group</code>. </li>
</ul>

</div>
<table width="100%" class="navbox" cellpadding="1" cellspacing="0">
  <tr>
  <a class="nav" href="index.html">
    <td align="center" width="20%" class="nav">
    <a class="nav" href="index.html">
    Home</a></td></a>
  <a class="nav" href="installing.html">
    <td align="center" width="20%" class="nav">
    <a class="nav" href="installing.html">
    Installing Epydoc</a></td></a>
  <a class="nav" href="using.html">
    <td align="center" width="20%" class="nav">
    <a class="nav" href="using.html">
    Using Epydoc</a></td></a>
  <a class="nav" href="epytext.html">
    <td align="center" width="20%" class="nav">
    <a class="nav" href="epytext.html">
    Epytext</a></td></a>
  <td align="center" width="20%" class="nav">
    
    <A href="http://sourceforge.net/projects/epydoc"> 
    <IMG src="sflogo.png" 
    width="88" height="26" border="0" alt="SourceForge"
    align="top"/></A></td>
    </tr>
</table>
</body>
</html>