1
2
3/* Epydoc CSS Stylesheet
4 *
5 * This stylesheet can be used to customize the appearance of epydoc's
6 * HTML output.
7 *
8 */
9
10/* Default Colors & Styles
11 *   - Set the default foreground & background color with 'body'; and
12 *     link colors with 'a:link' and 'a:visited'.
13 *   - Use bold for decision list terms.
14 *   - The heading styles defined here are used for headings *within*
15 *     docstring descriptions.  All headings used by epydoc itself use
16 *     either class='epydoc' or class='toc' (CSS styles for both
17 *     defined below).
18 */
19body                        { background: #ffffff; color: #000000; }
20p                           { margin-top: 0.5em; margin-bottom: 0.5em; }
21a:link                      { color: #0000ff; }
22a:visited                   { color: #204080; }
23dt                          { font-weight: bold; }
24h1                          { font-size: +140%; font-style: italic;
25                              font-weight: bold; }
26h2                          { font-size: +125%; font-style: italic;
27                              font-weight: bold; }
28h3                          { font-size: +110%; font-style: italic;
29                              font-weight: normal; }
30code                        { font-size: 100%; }
31/* N.B.: class, not pseudoclass */
32a.link                      { font-family: monospace; }
33
34/* Page Header & Footer
35 *   - The standard page header consists of a navigation bar (with
36 *     pointers to standard pages such as 'home' and 'trees'); a
37 *     breadcrumbs list, which can be used to navigate to containing
38 *     classes or modules; options links, to show/hide private
39 *     variables and to show/hide frames; and a page title (using
40 *     <h1>).  The page title may be followed by a link to the
41 *     corresponding source code (using 'span.codelink').
42 *   - The footer consists of a navigation bar, a timestamp, and a
43 *     pointer to epydoc's homepage.
44 */
45h1.epydoc                   { margin: 0; font-size: +140%; font-weight: bold; }
46h2.epydoc                   { font-size: +130%; font-weight: bold; }
47h3.epydoc                   { font-size: +115%; font-weight: bold;
48                              margin-top: 0.2em; }
49td h3.epydoc                { font-size: +115%; font-weight: bold;
50                              margin-bottom: 0; }
51table.navbar                { background: #a0c0ff; color: #000000;
52                              border: 2px groove #c0d0d0; }
53table.navbar table          { color: #000000; }
54th.navbar-select            { background: #70b0ff;
55                              color: #000000; }
56table.navbar a              { text-decoration: none; }
57table.navbar a:link         { color: #0000ff; }
58table.navbar a:visited      { color: #204080; }
59span.breadcrumbs            { font-size: 85%; font-weight: bold; }
60span.options                { font-size: 70%; }
61span.codelink               { font-size: 85%; }
62td.footer                   { font-size: 85%; }
63
64/* Table Headers
65 *   - Each summary table and details section begins with a 'header'
66 *     row.  This row contains a section title (marked by
67 *     'span.table-header') as well as a show/hide private link
68 *     (marked by 'span.options', defined above).
69 *   - Summary tables that contain user-defined groups mark those
70 *     groups using 'group header' rows.
71 */
72td.table-header             { background: #70b0ff; color: #000000;
73                              border: 1px solid #608090; }
74td.table-header table       { color: #000000; }
75td.table-header table a:link      { color: #0000ff; }
76td.table-header table a:visited   { color: #204080; }
77span.table-header           { font-size: 120%; font-weight: bold; }
78th.group-header             { background: #c0e0f8; color: #000000;
79                              text-align: left; font-style: italic;
80                              font-size: 115%;
81                              border: 1px solid #608090; }
82
83/* Summary Tables (functions, variables, etc)
84 *   - Each object is described by a single row of the table with
85 *     two cells.  The left cell gives the object's type, and is
86 *     marked with 'code.summary-type'.  The right cell gives the
87 *     object's name and a summary description.
88 *   - CSS styles for the table's header and group headers are
89 *     defined above, under 'Table Headers'
90 */
91table.summary               { border-collapse: collapse;
92                              background: #e8f0f8; color: #000000;
93                              border: 1px solid #608090;
94                              margin-bottom: 0.5em; }
95td.summary                  { border: 1px solid #608090; }
96code.summary-type           { font-size: 85%; }
97table.summary a:link        { color: #0000ff; }
98table.summary a:visited     { color: #204080; }
99
100
101/* Details Tables (functions, variables, etc)
102 *   - Each object is described in its own div.
103 *   - A single-row summary table w/ table-header is used as
104 *     a header for each details section (CSS style for table-header
105 *     is defined above, under 'Table Headers').
106 */
107table.details               { border-collapse: collapse;
108                              background: #e8f0f8; color: #000000;
109                              border: 1px solid #608090;
110                              margin: .2em 0 0 0; }
111table.details table         { color: #000000; }
112table.details a:link        { color: #0000ff; }
113table.details a:visited     { color: #204080; }
114
115/* Fields */
116dl.fields                   { margin-left: 2em; margin-top: 1em;
117                              margin-bottom: 1em; }
118dl.fields dd ul             { margin-left: 0em; padding-left: 0em; }
119dl.fields dd ul li ul       { margin-left: 2em; padding-left: 0em; }
120div.fields                  { margin-left: 2em; }
121div.fields p                { margin-bottom: 0.5em; }
122
123/* Index tables (identifier index, term index, etc)
124 *   - link-index is used for indices containing lists of links
125 *     (namely, the identifier index & term index).
126 *   - index-where is used in link indices for the text indicating
127 *     the container/source for each link.
128 *   - metadata-index is used for indices containing metadata
129 *     extracted from fields (namely, the bug index & todo index).
130 */
131table.link-index            { border-collapse: collapse;
132                              background: #e8f0f8; color: #000000;
133                              border: 1px solid #608090; }
134td.link-index               { border-width: 0px; }
135table.link-index a:link     { color: #0000ff; }
136table.link-index a:visited  { color: #204080; }
137span.index-where            { font-size: 70%; }
138table.metadata-index        { border-collapse: collapse;
139                              background: #e8f0f8; color: #000000;
140                              border: 1px solid #608090;
141                              margin: .2em 0 0 0; }
142td.metadata-index           { border-width: 1px; border-style: solid; }
143table.metadata-index a:link { color: #0000ff; }
144table.metadata-index a:visited  { color: #204080; }
145
146/* Function signatures
147 *   - sig* is used for the signature in the details section.
148 *   - .summary-sig* is used for the signature in the summary
149 *     table, and when listing property accessor functions.
150 * */
151.sig-name                   { color: #006080; }
152.sig-arg                    { color: #008060; }
153.sig-default                { color: #602000; }
154.summary-sig                { font-family: monospace; }
155.summary-sig-name           { color: #006080; font-weight: bold; }
156table.summary a.summary-sig-name:link
157                            { color: #006080; font-weight: bold; }
158table.summary a.summary-sig-name:visited
159                            { color: #006080; font-weight: bold; }
160.summary-sig-arg            { color: #006040; }
161.summary-sig-default        { color: #501800; }
162
163/* Subclass list
164 */
165ul.subclass-list { display: inline; }
166ul.subclass-list li { display: inline; }
167
168/* To render variables, classes etc. like functions */
169table.summary .summary-name { color: #006080; font-weight: bold;
170                              font-family: monospace; }
171table.summary
172     a.summary-name:link    { color: #006080; font-weight: bold;
173                              font-family: monospace; }
174table.summary
175    a.summary-name:visited  { color: #006080; font-weight: bold;
176                              font-family: monospace; }
177
178/* Variable values
179 *   - In the 'variable details' sections, each varaible's value is
180 *     listed in a 'pre.variable' box.  The width of this box is
181 *     restricted to 80 chars; if the value's repr is longer than
182 *     this it will be wrapped, using a backslash marked with
183 *     class 'variable-linewrap'.  If the value's repr is longer
184 *     than 3 lines, the rest will be ellided; and an ellipsis
185 *     marker ('...' marked with 'variable-ellipsis') will be used.
186 *   - If the value is a string, its quote marks will be marked
187 *     with 'variable-quote'.
188 *   - If the variable is a regexp, it is syntax-highlighted using
189 *     the re* CSS classes.
190 */
191pre.variable                { padding: .5em; margin: 0;
192                              background: #dce4ec; color: #000000;
193                              border: 1px solid #708890; }
194.variable-linewrap          { color: #604000; font-weight: bold; }
195.variable-ellipsis          { color: #604000; font-weight: bold; }
196.variable-quote             { color: #604000; font-weight: bold; }
197.variable-group             { color: #008000; font-weight: bold; }
198.variable-op                { color: #604000; font-weight: bold; }
199.variable-string            { color: #006030; }
200.variable-unknown           { color: #a00000; font-weight: bold; }
201.re                         { color: #000000; }
202.re-char                    { color: #006030; }
203.re-op                      { color: #600000; }
204.re-group                   { color: #003060; }
205.re-ref                     { color: #404040; }
206
207/* Base tree
208 *   - Used by class pages to display the base class hierarchy.
209 */
210pre.base-tree               { font-size: 80%; margin: 0; }
211
212/* Frames-based table of contents headers
213 *   - Consists of two frames: one for selecting modules; and
214 *     the other listing the contents of the selected module.
215 *   - h1.toc is used for each frame's heading
216 *   - h2.toc is used for subheadings within each frame.
217 */
218h1.toc                      { text-align: center; font-size: 105%;
219                              margin: 0; font-weight: bold;
220                              padding: 0; }
221h2.toc                      { font-size: 100%; font-weight: bold;
222                              margin: 0.5em 0 0 -0.3em; }
223
224/* Syntax Highlighting for Source Code
225 *   - doctest examples are displayed in a 'pre.py-doctest' block.
226 *     If the example is in a details table entry, then it will use
227 *     the colors specified by the 'table pre.py-doctest' line.
228 *   - Source code listings are displayed in a 'pre.py-src' block.
229 *     Each line is marked with 'span.py-line' (used to draw a line
230 *     down the left margin, separating the code from the line
231 *     numbers).  Line numbers are displayed with 'span.py-lineno'.
232 *     The expand/collapse block toggle button is displayed with
233 *     'a.py-toggle' (Note: the CSS style for 'a.py-toggle' should not
234 *     modify the font size of the text.)
235 *   - If a source code page is opened with an anchor, then the
236 *     corresponding code block will be highlighted.  The code
237 *     block's header is highlighted with 'py-highlight-hdr'; and
238 *     the code block's body is highlighted with 'py-highlight'.
239 *   - The remaining py-* classes are used to perform syntax
240 *     highlighting (py-string for string literals, py-name for names,
241 *     etc.)
242 */
243pre.py-doctest              { padding: .5em; margin: 1em;
244                              background: #e8f0f8; color: #000000;
245                              border: 1px solid #708890; }
246table pre.py-doctest        { background: #dce4ec;
247                              color: #000000; }
248pre.py-src                  { border: 2px solid #000000;
249                              background: #f0f0f0; color: #000000; }
250.py-line                    { border-left: 2px solid #000000;
251                              margin-left: .2em; padding-left: .4em; }
252.py-lineno                  { font-style: italic; font-size: 90%;
253                              padding-left: .5em; }
254a.py-toggle                 { text-decoration: none; }
255div.py-highlight-hdr        { border-top: 2px solid #000000;
256                              border-bottom: 2px solid #000000;
257                              background: #d8e8e8; }
258div.py-highlight            { border-bottom: 2px solid #000000;
259                              background: #d0e0e0; }
260.py-prompt                  { color: #005050; font-weight: bold;}
261.py-more                    { color: #005050; font-weight: bold;}
262.py-string                  { color: #006030; }
263.py-comment                 { color: #003060; }
264.py-keyword                 { color: #600000; }
265.py-output                  { color: #404040; }
266.py-name                    { color: #000050; }
267.py-name:link               { color: #000050 !important; }
268.py-name:visited            { color: #000050 !important; }
269.py-number                  { color: #005000; }
270.py-defname                 { color: #000060; font-weight: bold; }
271.py-def-name                { color: #000060; font-weight: bold; }
272.py-base-class              { color: #000060; }
273.py-param                   { color: #000060; }
274.py-docstring               { color: #006030; }
275.py-decorator               { color: #804020; }
276/* Use this if you don't want links to names underlined: */
277/*a.py-name                   { text-decoration: none; }*/
278
279/* Graphs & Diagrams
280 *   - These CSS styles are used for graphs & diagrams generated using
281 *     Graphviz dot.  'img.graph-without-title' is used for bare
282 *     diagrams (to remove the border created by making the image
283 *     clickable).
284 */
285img.graph-without-title     { border: none; }
286img.graph-with-title        { border: 1px solid #000000; }
287span.graph-title            { font-weight: bold; }
288span.graph-caption          { }
289
290/* General-purpose classes
291 *   - 'p.indent-wrapped-lines' defines a paragraph whose first line
292 *     is not indented, but whose subsequent lines are.
293 *   - The 'nomargin-top' class is used to remove the top margin (e.g.
294 *     from lists).  The 'nomargin' class is used to remove both the
295 *     top and bottom margin (but not the left or right margin --
296 *     for lists, that would cause the bullets to disappear.)
297 */
298p.indent-wrapped-lines      { padding: 0 0 0 7em; text-indent: -7em;
299                              margin: 0; }
300.nomargin-top               { margin-top: 0; }
301.nomargin                   { margin-top: 0; margin-bottom: 0; }
302
303/* HTML Log */
304div.log-block               { padding: 0; margin: .5em 0 .5em 0;
305                              background: #e8f0f8; color: #000000;
306                              border: 1px solid #000000; }
307div.log-error               { padding: .1em .3em .1em .3em; margin: 4px;
308                              background: #ffb0b0; color: #000000;
309                              border: 1px solid #000000; }
310div.log-warning             { padding: .1em .3em .1em .3em; margin: 4px;
311                              background: #ffffb0; color: #000000;
312                              border: 1px solid #000000; }
313div.log-info               { padding: .1em .3em .1em .3em; margin: 4px;
314                              background: #b0ffb0; color: #000000;
315                              border: 1px solid #000000; }
316h2.log-hdr                  { background: #70b0ff; color: #000000;
317                              margin: 0; padding: 0em 0.5em 0em 0.5em;
318                              border-bottom: 1px solid #000000; font-size: 110%; }
319p.log                       { font-weight: bold; margin: .5em 0 .5em 0; }
320tr.opt-changed              { color: #000000; font-weight: bold; }
321tr.opt-default              { color: #606060; }
322pre.log                     { margin: 0; padding: 0; padding-left: 1em; }
323