Skip to content

Instantly share code, notes, and snippets.

@mattvonrocketstein
Last active February 21, 2019 16:52
Show Gist options
  • Save mattvonrocketstein/f282dbd41ae536815f18 to your computer and use it in GitHub Desktop.
Save mattvonrocketstein/f282dbd41ae536815f18 to your computer and use it in GitHub Desktop.
epydoc.css
/* Epydoc CSS Stylesheet
*
* This is a massivley hacked stylesheet for epydoc, the very nice Python API
* Documentation generator. The general look and feel is based on sphinx.
* https://raw.githubusercontent.com/garethr/epydoc-themes/master/epydoc.css
*
* Feel free to tweak this some more to make the theme even more pleasing
* if you have the time to spare for such things. The typography in particular
* could do with sorting out. Unless you like writing masocistic CSS however,
* I'd recommend looking to refactor the markup generated by epydoc.
*
*/
/* Yahoo! Reset Styles
Copyright (c) 2008, Yahoo! Inc. All rights reserved.
Code licensed under the BSD License:
http://developer.yahoo.net/yui/license.txt
version: 2.5.1
*/
html {
color: #000;
background: #FFF;
}
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,textarea,p,blockquote,th,td {
margin: 0;
padding: 0;
}
table {
border-collapse: collapse;
border-spacing: 0;
}
fieldset,img {
border: 0;
}
address,caption,cite,code,dfn,em,strong,th,var {
font-style: normal;
font-weight: normal;
}
li {
list-style: none;
}
caption,th {
text-align: left;
}
h1,h2,h3,h4,h5,h6 {
font-size: 100%;
font-weight: normal;
}
q:before,q:after {
content: '';
}
abbr,acronym {
border: 0;
font-variant: normal;
}
sup {
vertical-align: text-top;
}
sub {
vertical-align: text-bottom;
}
input,textarea,select {
font-family: inherit;
font-size: inherit;
font-weight: inherit;
}
input,textarea,select {*font-size:100%;
}
legend {
color: #000;
}
body {
font: 13px/1.231 arial,helvetica,clean,sans-serif;*font-size:small;*font:x-small;
}
table {
font-size: inherit;
font: 100%;
}
pre,code,kbd,samp,tt {
font-family: monospace;*font-size:108%;
line-height: 100%;
}
/* Default Colors & Styles
* - Set the default foreground & background color with 'body'; and
* link colors with 'a:link' and 'a:visited'.
* - Use bold for decision list terms.
* - The heading styles defined here are used for headings *within*
* docstring descriptions. All headings used by epydoc itself use
* either class='epydoc' or class='toc' (CSS styles for both
* defined below).
*/
body {
background: #ffffff;
color: #000000;
}
p {
margin-top: 0.5em;
margin-bottom: 0.5em;
}
a {
color: #355f7c;
text-decoration: none;
}
a:hover {
text-decoration: underline;
}
dt {
font-weight: bold;
}
h1, h2 {
color: #20435C;
background: #F2F2F2;
border-bottom: 1px solid #CCC;
padding: 10px;
}
center {
display: none;
}
code {
font-size: 100%;
}
/* N.B.: class, not pseudoclass */
a.link {
font-family: monospace;
}
/* Page Header & Footer
* - The standard page header consists of a navigation bar (with
* pointers to standard pages such as 'home' and 'trees'); a
* breadcrumbs list, which can be used to navigate to containing
* classes or modules; options links, to show/hide private
* variables and to show/hide frames; and a page title (using
* <h1>). The page title may be followed by a link to the
* corresponding source code (using 'span.codelink').
* - The footer consists of a navigation bar, a timestamp, and a
* pointer to epydoc's homepage.
*/
h1.epydoc {
margin: -14px 0 0;
font-size: +140%;
color: #20435C;
}
h2.epydoc {
font-size: +130%;
}
h3.epydoc {
font-size: +115%;
margin-top: 0.2em;
margin-left: 25px;
}
td h3.epydoc {
font-size: +115%;
font-weight: bold;
margin-bottom: 0;
}
table.navbar {
background: #133F52;
color: #355f7c;
border: 0;
}
table.navbar table {
color: #355f7c;
}
th.navbar-select {
background: #1C4E63;
color: #FFF;
}
table.navbar table th {
padding-left: 15px;
}
table.navbar a {
text-decoration: none;
color: #FFF;
padding: 0 10px;
display: block;
}
table td.footer {
padding: 10px;
color: #666;
font-size: 90%;
}
/* Table Headers
* - Each summary table and details section begins with a 'header'
* row. This row contains a section title (marked by
* 'span.table-header') as well as a show/hide private link
* (marked by 'span.options', defined above).
* - Summary tables that contain user-defined groups mark those
* groups using 'group header' rows.
*/
td.table-header {
background: #F2F2F2;
color: #20435C;
border: 1px solid #CCC;
padding: 5px 10px;
}
td.table-header table a:visited {
color: #204080;
}
span.table-header {
font-size: 120%;
}
th.group-header {
background: #c0e0f8;
color: #000000;
text-align: left;
font-size: 115%;
border: 1px solid #608090;
}
/* Summary Tables (functions, variables, etc)
* - Each object is described by a single row of the table with
* two cells. The left cell gives the object's type, and is
* marked with 'code.summary-type'. The right cell gives the
* object's name and a summary description.
* - CSS styles for the table's header and group headers are
* defined above, under 'Table Headers'
*/
table.summary {
border-collapse: collapse;
background: #FFF;
color: #000000;
border: 1px solid #CCC;
margin: 0 0 20px;
}
td.summary {
border: 1px solid #CCC;
padding: 5px 10px;
}
code.summary-type {
font-size: 85%;
}
/* Details Tables (functions, variables, etc)
* - Each object is described in its own div.
* - A single-row summary table w/ table-header is used as
* a header for each details section (CSS style for table-header
* is defined above, under 'Table Headers').
*/
table.details {
border-collapse: collapse;
background: #FFF;
color: #000000;
border: 0;
margin: .2em 0 0 0;
}
table.details table {
color: #000000;
}
/* Fields */
dl.fields {
margin-left: 2em;
margin-top: 1em;
margin-bottom: 1em;
}
dl.fields dd ul {
margin-left: 0em;
padding-left: 0em;
}
dl.fields dd ul li ul {
margin-left: 2em;
padding-left: 0em;
}
div.fields {
margin-left: 2em;
}
div.fields p {
margin-bottom: 0.5em;
}
/* Index tables (identifier index, term index, etc)
* - link-index is used for indices containing lists of links
* (namely, the identifier index & term index).
* - index-where is used in link indices for the text indicating
* the container/source for each link.
* - metadata-index is used for indices containing metadata
* extracted from fields (namely, the bug index & todo index).
*/
table.link-index {
border-collapse: collapse;
background: #F2F2F2;
color: #000000;
border: 1px solid #CCC;
}
td.link-index {
border-width: 0px;
padding: 3px;
}
span.index-where {
font-size: 70%;
}
table.metadata-index {
border-collapse: collapse;
background: #e8f0f8;
color: #000000;
border: 1px solid #608090;
margin: .2em 0 0 0;
}
td.metadata-index {
border-width: 1px;
border-style: solid;
}
table.link-index h2.epydoc {
border-width: 1px 0;
}
/* Function signatures
* - sig* is used for the signature in the details section.
* - .summary-sig* is used for the signature in the summary
* table, and when listing property accessor functions.
* */
.sig-name {
color: #006080;
}
.sig-arg {
color: #008060;
}
.sig-default {
color: #602000;
}
.summary-sig {
font-family: monospace;
}
.summary-sig-name {
color: #006080;
font-weight: bold;
}
table.summary a.summary-sig-name:link {
color: #006080;
font-weight: bold;
}
table.summary a.summary-sig-name:visited {
color: #006080;
font-weight: bold;
}
.summary-sig-arg {
color: #006040;
}
.summary-sig-default {
color: #501800;
}
/* Subclass list
*/
ul.subclass-list {
display: inline;
}
ul.subclass-list li {
display: inline;
}
/* To render variables, classes etc. like functions */
table.summary .summary-name {
color: #006080;
font-weight: bold;
font-family: monospace;
}
table.summary
a.summary-name:link {
color: #006080;
font-weight: bold;
font-family: monospace;
}
table.summary
a.summary-name:visited {
color: #006080;
font-weight: bold;
font-family: monospace;
}
/* Variable values
* - In the 'variable details' sections, each varaible's value is
* listed in a 'pre.variable' box. The width of this box is
* restricted to 80 chars; if the value's repr is longer than
* this it will be wrapped, using a backslash marked with
* class 'variable-linewrap'. If the value's repr is longer
* than 3 lines, the rest will be ellided; and an ellipsis
* marker ('...' marked with 'variable-ellipsis') will be used.
* - If the value is a string, its quote marks will be marked
* with 'variable-quote'.
* - If the variable is a regexp, it is syntax-highlighted using
* the re* CSS classes.
*/
pre.variable {
padding: .5em;
margin: 0;
background: #F2F2F2;
color: #000000;
border: 1px solid #CCC;
}
.variable-linewrap {
color: #604000;
font-weight: bold;
}
.variable-ellipsis {
color: #604000;
font-weight: bold;
}
.variable-quote {
color: #604000;
font-weight: bold;
}
.variable-group {
color: #008000;
font-weight: bold;
}
.variable-op {
color: #604000;
font-weight: bold;
}
.variable-string {
color: #006030;
}
.variable-unknown {
color: #a00000;
font-weight: bold;
}
.re {
color: #000000;
}
.re-char {
color: #006030;
}
.re-op {
color: #600000;
}
.re-group {
color: #003060;
}
.re-ref {
color: #404040;
}
/* Base tree
* - Used by class pages to display the base class hierarchy.
*/
pre.base-tree {
font-size: 80%;
margin: 0;
}
/* Syntax Highlighting for Source Code
* - doctest examples are displayed in a 'pre.py-doctest' block.
* If the example is in a details table entry, then it will use
* the colors specified by the 'table pre.py-doctest' line.
* - Source code listings are displayed in a 'pre.py-src' block.
* Each line is marked with 'span.py-line' (used to draw a line
* down the left margin, separating the code from the line
* numbers). Line numbers are displayed with 'span.py-lineno'.
* The expand/collapse block toggle button is displayed with
* 'a.py-toggle' (Note: the CSS style for 'a.py-toggle' should not
* modify the font size of the text.)
* - If a source code page is opened with an anchor, then the
* corresponding code block will be highlighted. The code
* block's header is highlighted with 'py-highlight-hdr'; and
* the code block's body is highlighted with 'py-highlight'.
* - The remaining py-* classes are used to perform syntax
* highlighting (py-string for string literals, py-name for names,
* etc.)
*/
pre.py-doctest {
padding: .5em;
margin: 1em;
background: #F2F2F2;
color: #000000;
border: 1px solid #CCC;
}
table pre.py-doctest {
background: #F2F2F2;
color: #000000;
}
pre.py-src {
border: 1px solid #CCC;
background: #FFF;
color: #000000;
margin: 20px 0;
}
.py-line {
border-left: 1px solid #CCC;
margin-left: .2em;
padding-left: .4em;
}
.py-lineno {
font-style: italic;
font-size: 90%;
padding-left: .5em;
}
a.py-toggle {
text-decoration: none;
}
div.py-highlight-hdr {
border-top: 1px solid #CCC;
border-bottom: 1px solid #CCC;
background: #F2F2F2;
}
div.py-highlight {
border-bottom: 1px solid #CCC;
background: #F2F2F2;
}
.py-prompt {
color: #005050;
font-weight: bold;
}
.py-more {
color: #005050;
font-weight: bold;
}
.py-string {
color: #006030;
}
.py-comment {
color: #003060;
}
.py-keyword {
color: #600000;
}
.py-output {
color: #404040;
}
.py-name {
color: #000050;
}
.py-name:link {
color: #000050 !important;
}
.py-name:visited {
color: #000050 !important;
}
.py-number {
color: #005000;
}
.py-defname {
color: #000060;
font-weight: bold;
}
.py-def-name {
color: #000060;
font-weight: bold;
}
.py-base-class {
color: #000060;
}
.py-param {
color: #000060;
}
.py-docstring {
color: #006030;
}
.py-decorator {
color: #804020;
}
/* Graphs & Diagrams
* - These CSS styles are used for graphs & diagrams generated using
* Graphviz dot. 'img.graph-without-title' is used for bare
* diagrams (to remove the border created by making the image
* clickable).
*/
img.graph-without-title {
border: none;
}
img.graph-with-title {
border: 1px solid #000000;
}
span.graph-title {
font-weight: bold;
}
/* General-purpose classes
* - 'p.indent-wrapped-lines' defines a paragraph whose first line
* is not indented, but whose subsequent lines are.
* - The 'nomargin-top' class is used to remove the top margin (e.g.
* from lists). The 'nomargin' class is used to remove both the
* top and bottom margin (but not the left or right margin --
* for lists, that would cause the bullets to disappear.)
*/
p.indent-wrapped-lines {
padding: 0 0 0 7em;
text-indent: -7em;
margin: 0;
}
.nomargin-top {
margin: 20px;
}
.nomargin {
margin-top: 0;
margin-bottom: 0;
}
/* HTML Log */
div.log-block {
padding: 0;
margin: .5em 0 .5em 0;
background: #e8f0f8;
color: #000000;
border: 1px solid #000000;
}
div.log-error {
padding: .1em .3em .1em .3em;
margin: 4px;
background: #ffb0b0;
color: #000000;
border: 1px solid #000000;
}
div.log-warning {
padding: .1em .3em .1em .3em;
margin: 4px;
background: #ffffb0;
color: #000000;
border: 1px solid #000000;
}
div.log-info {
padding: .1em .3em .1em .3em;
margin: 4px;
background: #b0ffb0;
color: #000000;
border: 1px solid #000000;
}
h2.log-hdr {
background: #70b0ff;
color: #000000;
margin: 0;
padding: 0em 0.5em 0em 0.5em;
border-bottom: 1px solid #000000;
font-size: 110%;
}
p.log {
font-weight: bold;
margin: .5em 0 .5em 0;
}
tr.opt-changed {
color: #000000;
font-weight: bold;
}
tr.opt-default {
color: #606060;
}
pre.log {
margin: 0;
padding: 0;
padding-left: 1em;
}
/* Hacks
* This section is reseerved for the really horrible bits. In reality the
* markup generated by epydoc wants a good kickings but a CSS patch is
* better than nothing. Some of this does remove useful links or output
* because finding somewhere to put them on the page wasn't easy. If your
* favourite link has disappeared this is probably the reason.
*/
ul ul {
margin-left: 1em;
}
ul ul ul {
margin-left: 2em;
}
ul ul ul ul {
margin-left: 3em;
}
a[target=mainFrame], a[target=moduleFrame] {
margin: 0 10px;
}
h2.toc {
margin-bottom: 10px;
}
h1.toc {
display: none;
}
.options {
display: none;
}
hr, br {
display: none;
}
a[href="toc-everything.html"] {
display: none;
}
.breadcrumbs {
visibility: hidden;
}
.details p {
margin-left: 25px;
}
body > p {
margin: 20px;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment