Skip to content

Instantly share code, notes, and snippets.

@la-mar
Created April 20, 2020 21:48
Show Gist options
  • Save la-mar/598f2cba2ce9bf54f79a3b27e7bb2288 to your computer and use it in GitHub Desktop.
Save la-mar/598f2cba2ce9bf54f79a3b27e7bb2288 to your computer and use it in GitHub Desktop.
Dark theme for coverage.py HTML report
/* Dark theme for coverage.py HTML report
config reference: https://coverage.readthedocs.io/en/coverage-5.1/config.html#html
original: https://github.com/nedbat/coveragepy/blob/master/coverage/htmlfiles/style.css
*/
@charset "UTF-8";
/* Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0 */
/* For details: https://github.com/nedbat/coveragepy/blob/master/NOTICE.txt */
html,
body,
h1,
h2,
h3,
p,
table,
td,
th {
margin: 0;
padding: 0;
border: 0;
font-weight: inherit;
font-style: inherit;
font-size: 100%;
font-family: inherit;
vertical-align: baseline;
background-color: #363537;
color: #f7f1ff;
}
body {
font-family: georgia, serif;
font-size: 1em;
}
html>body {
font-size: 16px;
}
p {
font-size: .75em;
line-height: 1.33333333em;
}
table {
border-collapse: collapse;
}
td {
vertical-align: top;
}
table tr.hidden {
display: none !important;
}
p#no_rows {
display: none;
font-size: 1.2em;
}
a.nav {
text-decoration: none;
color: inherit;
}
a.nav:hover {
text-decoration: underline;
color: inherit;
}
#header {
background: #2d2a2e;
width: 100%;
border-bottom: 1px solid #221f22;
}
.indexfile #footer {
margin: 1em 3em;
}
.pyfile #footer {
margin: 1em 1em;
}
#footer .content {
padding: 0;
font-size: 85%;
font-family: verdana, sans-serif;
color: #f7f1ff;
font-style: italic;
}
#index {
margin: 1em 0 0 3em;
}
#header .content {
padding: 1em 3rem;
}
h1 {
font-size: 1.25em;
display: inline-block;
}
#filter_container {
display: inline-block;
float: right;
margin: 0 2em 0 0;
}
#filter_container input {
width: 10em;
}
h2.stats {
margin-top: .5em;
font-size: 1em;
}
.stats span {
border: 1px solid;
border-radius: .1em;
padding: .1em .5em;
margin: 0 .1em;
cursor: pointer;
border-color: #ccc #999 #999 #ccc;
}
.stats span.run {
background: #7bd88f;
}
.stats span.run.show_run {
border-color: #999 #ccc #ccc #999;
background: #7bd88f;
}
.stats span.mis {
background: #ffeeee;
}
.stats span.mis.show_mis {
border-color: #999 #ccc #ccc #999;
background: #ff6188;
}
.stats span.exc {
background: #f7f7f7;
}
.stats span.exc.show_exc {
border-color: #999 #ccc #ccc #999;
background: #525053;
}
.stats span.par {
background: #ffffd5;
}
.stats span.par.show_par {
border-color: #999 #ccc #ccc #999;
background: #ffffaa;
}
#source p .annotate.long,
.help_panel {
display: none;
position: absolute;
z-index: 999;
background: #808080;
border: 1px solid #888;
border-radius: .2em;
box-shadow: #cccccc .2em .2em .2em;
color: #f7f1ff;
padding: .25em .5em;
}
#source p .annotate.long {
white-space: normal;
float: right;
top: 1.75em;
right: 1em;
height: auto;
}
#keyboard_icon {
float: right;
margin: 5px;
cursor: pointer;
}
.help_panel {
padding: .5em;
border: 1px solid #80808097;
}
.help_panel .legend {
font-style: italic;
margin-bottom: 1em;
}
.indexfile .help_panel {
width: 20em;
height: 4em;
}
.pyfile .help_panel {
width: 16em;
height: 8em;
}
#panel_icon {
float: right;
cursor: pointer;
}
.keyhelp {
margin: .75em;
}
.keyhelp .key {
border: 1px solid black;
border-color: #888 #333 #333 #888;
padding: .1em .35em;
font-family: monospace;
font-weight: bold;
background: #221f22;
}
#source {
padding: 1em 0 1em 3rem;
font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;
}
#source p {
position: relative;
white-space: pre;
}
#source p * {
box-sizing: border-box;
}
#source p .n {
float: left;
text-align: right;
width: 3rem;
box-sizing: border-box;
margin-left: -3rem;
padding-right: 1em;
color: #f7f1ff;
font-family: verdana, sans-serif;
}
#source p .n a {
text-decoration: none;
color: #f7f1ff;
font-size: .8333em;
line-height: 1em;
}
#source p .n a:hover {
text-decoration: underline;
color: #f7f1ff;
}
#source p.highlight .n {
background: #ffdd00;
}
#source p .t {
display: inline-block;
width: 100%;
box-sizing: border-box;
margin-left: -.5em;
padding-left: 0.3em;
border-left: 0.2em solid white;
}
#source p .t:hover {
background: #52505369;
}
#source p .t:hover~.r .annotate.long {
display: block;
}
#source p .t .com {
color: #4f855a;
font-style: italic;
line-height: 1px;
}
#source p .t .key {
font-weight: bold;
line-height: 1px;
}
#source p .t .str {
color: #ffd866;
}
#source p.mis .t {
border-left: 0.2em solid #fa698d;
}
#source p.mis.show_mis .t {
background: #de54763c;
}
#source p.mis.show_mis .t:hover {
background: #fa698d98;
}
#source p.run .t {
border-left: 0.2em solid #7bd88f;
}
#source p.run.show_run .t {
background: #2f523690;
}
#source p.run.show_run .t:hover {
background: #d2f2d2;
}
#source p.exc .t {
border-left: 0.2em solid #808080;
}
#source p.exc.show_exc .t {
background: #525053;
}
#source p.exc.show_exc .t:hover {
background: #80808097;
}
#source p.par .t {
border-left: 0.2em solid #80808097;
}
#source p.par.show_par .t {
background: #80808097;
}
#source p.par.show_par .t:hover {
background: #80808097;
}
#source p .r {
position: absolute;
top: 0;
right: 2.5em;
font-family: verdana, sans-serif;
}
#source p .annotate {
font-family: georgia;
color: #666;
padding-right: .5em;
}
#source p .annotate.short:hover~.long {
display: block;
}
#source p .annotate.long {
width: 30em;
right: 2.5em;
}
#source p input {
display: none;
}
#source p input~.r label.ctx {
cursor: pointer;
border-radius: .25em;
}
#source p input~.r label.ctx::before {
content: "▶ ";
}
#source p input~.r label.ctx:hover {
background: #d5f7ff;
color: #666;
}
#source p input:checked~.r label.ctx {
background: #aaeeff;
color: #666;
border-radius: .75em .75em 0 0;
padding: 0 .5em;
margin: -.25em 0;
}
#source p input:checked~.r label.ctx::before {
content: "▼ ";
}
#source p input:checked~.ctxs {
padding: .25em .5em;
overflow-y: scroll;
max-height: 10.5em;
}
#source p label.ctx {
color: #999;
display: inline-block;
padding: 0 .5em;
font-size: .8333em;
}
#source p .ctxs {
display: block;
max-height: 0;
overflow-y: hidden;
transition: all .2s;
padding: 0 .5em;
font-family: verdana, sans-serif;
white-space: nowrap;
background: #aaeeff;
border-radius: .25em;
margin-right: 1.75em;
}
#source p .ctxs span {
display: block;
text-align: right;
}
#index td,
#index th {
text-align: right;
width: 5em;
padding: .25em .5em;
border-bottom: 1px solid #221f22;
}
#index td.left,
#index th.left {
padding-left: 0;
}
#index td.right,
#index th.right {
padding-right: 0;
}
#index td.name,
#index th.name {
text-align: left;
width: auto;
}
#index th {
font-style: italic;
color: #f7f1ff;
border-bottom: 1px solid #ccc;
cursor: pointer;
}
#index th:hover {
background: #221f22;
border-bottom: 1px solid #999;
}
#index th.headerSortDown,
#index th.headerSortUp {
border-bottom: 1px solid #000;
white-space: nowrap;
background: #221f22;
}
#index th.headerSortDown:after {
content: " ↓";
}
#index th.headerSortUp:after {
content: " ↑";
}
#index td.name a {
text-decoration: none;
color: #f7f1ff;
}
#index tr.total td,
#index tr.total_dynamic td {
font-weight: bold;
border-top: 1px solid #ccc;
border-bottom: none;
}
#index tr.file:hover {
background: #525053;
}
#index tr.file:hover td.name {
text-decoration: underline;
color: #000;
}
#scroll_marker {
position: fixed;
right: 0;
top: 0;
width: 16px;
height: 100%;
background: #525053;
border-left: 1px solid #221f22;
will-change: transform;
}
#scroll_marker .marker {
background: #fa698d;
position: absolute;
min-height: 3px;
width: 100%;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment