mirror of
https://git.proxmox.com/git/pve-docs
synced 2025-04-29 09:13:22 +00:00
conf: add support for a dark mode in the documentation
this commit adds support for a dark theme that behaves similarly to that one used by the api viewer. Signed-off-by: Stefan Sterz <s.sterz@proxmox.com>
This commit is contained in:
parent
203262f4f5
commit
864c4d12af
168
asciidoc/pve-docs.css
Normal file
168
asciidoc/pve-docs.css
Normal file
@ -0,0 +1,168 @@
|
||||
:root {
|
||||
/* pre-defined colors */
|
||||
--pdt-grey-950: hsl(0deg, 0%, 95%);
|
||||
--pdt-grey-400: hsl(0deg, 0%, 40%);
|
||||
--pdt-grey-250: hsl(0deg, 0%, 25%);
|
||||
--pdt-grey-150: hsl(0deg, 0%, 15%);
|
||||
--pdt-grey-100: hsl(0deg, 0%, 10%);
|
||||
--pdt-primary-850: hsl(205deg, 100%, 85%);
|
||||
--pdt-primary-800: hsl(205deg, 100%, 80%);
|
||||
--pdt-primary-700: hsl(205deg, 100%, 70%);
|
||||
--pdt-secondary-850: hsl(250deg, 100%, 85%);
|
||||
}
|
||||
|
||||
/* adjust admonition block spacing. this allows for a background on
|
||||
* admonition blocks that doesn't make the elements look to tightly
|
||||
* spaced.
|
||||
*/
|
||||
div.admonitionblock {
|
||||
border-radius: 3px;
|
||||
margin: 1.5em 0;
|
||||
padding: 0.5em 10% 0.5em 0.5em;
|
||||
}
|
||||
|
||||
div.admonitionblock td.icon {
|
||||
padding-right: 0.5em;
|
||||
}
|
||||
|
||||
div.admonitionblock td.icon > img {
|
||||
box-sizing: border-box;
|
||||
padding: 0.15em;
|
||||
}
|
||||
|
||||
@media screen and (prefers-color-scheme: dark) {
|
||||
:root {
|
||||
color-scheme: dark;
|
||||
--pdt-body-background: var(--pdt-grey-150);
|
||||
--pdt-text: var(--pdt-grey-950);
|
||||
--pdt-headline: var(--pdt-primary-800);
|
||||
--pdt-link: var(--pdt-primary-700);
|
||||
--pdt-link-visited: var(--pdt-secondary-850);
|
||||
--pdt-highlighted-text: var(--pdt-primary-850);
|
||||
--pdt-background-sidebar: var(--pdt-grey-100);
|
||||
--pdt-background-listings: var(--pdt-grey-100);
|
||||
--pdt-border: var(--pdt-grey-400);
|
||||
--pdt-border-alt: var(--pdt-grey-250);
|
||||
--pdt-table-border: var(--pdt-grey-400);
|
||||
--pdt-background-admonition: var(--pdt-grey-250);
|
||||
}
|
||||
|
||||
body {
|
||||
color: var(--pdt-text);
|
||||
background-color: var(--pdt-body-background);
|
||||
}
|
||||
|
||||
a {
|
||||
color: var(--pdt-link);
|
||||
}
|
||||
|
||||
a:visited {
|
||||
color: var(--pdt-link-visited);
|
||||
}
|
||||
|
||||
/* style headlines, titles etc. */
|
||||
h1,
|
||||
h2,
|
||||
h3,
|
||||
h4,
|
||||
h5,
|
||||
h6,
|
||||
thead,
|
||||
#author,
|
||||
#toctitle,
|
||||
div.title,
|
||||
td.hdlist1,
|
||||
caption.title,
|
||||
p.tableblock.header {
|
||||
color: var(--pdt-headline);
|
||||
}
|
||||
|
||||
h1,
|
||||
h2,
|
||||
h3,
|
||||
#footer {
|
||||
border-color: var(--pdt-border);
|
||||
}
|
||||
|
||||
/* formatted colored text */
|
||||
dt,
|
||||
em,
|
||||
pre,
|
||||
code,
|
||||
strong,
|
||||
.monospaced {
|
||||
color: var(--pdt-highlighted-text);
|
||||
}
|
||||
|
||||
/* style the table of contents sidebar */
|
||||
div #toc {
|
||||
color: var(--pdt-text);
|
||||
background-color: var(--pdt-background-sidebar);
|
||||
border-color: var(--pdt-border-alt);
|
||||
}
|
||||
|
||||
div #toc a:link,
|
||||
div #toc a:visited {
|
||||
color: var(--pdt-text);
|
||||
}
|
||||
|
||||
/* reduce the brigthness of images a bit and make it reversable
|
||||
* through hovering over them.
|
||||
*/
|
||||
.image > img {
|
||||
filter: brightness(90%);
|
||||
}
|
||||
|
||||
.image > img:hover {
|
||||
filter: none;
|
||||
}
|
||||
|
||||
/* tables */
|
||||
th.tableblock,
|
||||
td.tableblock,
|
||||
table.tableblock {
|
||||
border-color: var(--pdt-table-border);
|
||||
}
|
||||
|
||||
div.quoteblock,
|
||||
div.verseblock {
|
||||
color: var(--pdt-text);
|
||||
border-color: var(--pdt-border);
|
||||
}
|
||||
|
||||
/* listings (e.g. code snippet blocks) */
|
||||
div.listingblock > div.content {
|
||||
background-color: var(--pdt-background-listings);
|
||||
border-color: var(--pdt-border-alt);
|
||||
}
|
||||
|
||||
/* admonition blocks (e.g. notes, warnings etc.) */
|
||||
div.admonitionblock {
|
||||
color: var(--pdt-text);
|
||||
background-color: var(--pdt-background-admonition);
|
||||
}
|
||||
|
||||
div.admonitionblock td.content {
|
||||
border-color: var(--pdt-border);
|
||||
}
|
||||
|
||||
/* makes the admonition icons appear a bit more consistent, by
|
||||
* adding a white background the shadows in the icons look
|
||||
* "correct"
|
||||
*/
|
||||
div.admonitionblock td.icon > img {
|
||||
background-color: white;
|
||||
border-radius: 100%;
|
||||
filter: brightness(95%);
|
||||
}
|
||||
|
||||
/* invert the logo */
|
||||
#header > h1 > .image > img {
|
||||
filter: invert(100%) hue-rotate(180deg) brightness(90%);
|
||||
}
|
||||
|
||||
/* fixes the black text on unorderd lists */
|
||||
ul > li > * {
|
||||
color: var(--pdt-text);
|
||||
}
|
||||
}
|
@ -629,6 +629,10 @@ div .toclevel1 {
|
||||
</style>
|
||||
endif::toc2[]
|
||||
|
||||
<style type="text/css">
|
||||
include1::{stylesdir=.}/pve-docs.css[]
|
||||
</style>
|
||||
|
||||
ifndef::disable-javascript[]
|
||||
ifdef::linkcss[]
|
||||
<script type="text/javascript" src="{scriptsdir=.}/asciidoc.js"></script>
|
||||
|
Loading…
Reference in New Issue
Block a user