Reworked to use Pure.css and Catppuccin

This commit is contained in:
2026-04-09 14:21:01 -04:00
parent 09487d9a1f
commit 0fbcb20a48
22 changed files with 922 additions and 2519 deletions

View File

@@ -0,0 +1,154 @@
/* Catppuccin Inspired Theme */
:root {
--Light-Rosewater: #dc8a78;
--Light-Flamingo: #dd7878;
--Light-Pink: #ea76cb;
--Light-Mauve: #8839ef;
--Light-Red: #d20f39;
--Light-Maroon: #e64553;
--Light-Peach: #fe640b;
--Light-Yellow: #df8e1d;
--Light-Green: #40a02b;
--Light-Teal: #179299;
--Light-Sky: #04a5e5;
--Light-Sapphire: #209fb5;
--Light-Blue: #1e66f5;
--Light-Lavender: #7287fd;
--Light-Text: #4c4f69;
--Light-Subtext-1: #5c5f77;
--Light-Subtext-0: #6c6f85;
--Light-Overlay-2: #7c7f93;
--Light-Overlay-1: #8c8fa1;
--Light-Overlay-0: #9ca0b0;
--Light-Surface-2: #acb0be;
--Light-Surface-1: #bcc0cc;
--Light-Surface-0: #ccd0da;
--Light-Base: #eff1f5;
--Light-Mantle: #e6e9ef;
--Light-Crust: #dce0e8;
--Dark-Rosewater: #f5e0dc;
--Dark-Flamingo: #f2cdcd;
--Dark-Pink: #f5c2e7;
--Dark-Mauve: #cba6f7;
--Dark-Red: #f38ba8;
--Dark-Maroon: #eba0ac;
--Dark-Peach: #fab387;
--Dark-Yellow: #f9e2af;
--Dark-Green: #a6e3a1;
--Dark-Teal: #94e2d5;
--Dark-Sky: #89dceb;
--Dark-Sapphire: #74c7ec;
--Dark-Blue: #89b4fa;
--Dark-Lavender: #b4befe;
--Dark-Text: #cdd6f4;
--Dark-Subtext-1: #bac2de;
--Dark-Subtext-0: #a6adc8;
--Dark-Overlay-2: #9399b2;
--Dark-Overlay-1: #7f849c;
--Dark-Overlay-0: #6c7086;
--Dark-Surface-2: #585b70;
--Dark-Surface-1: #45475a;
--Dark-Surface-0: #313244;
--Dark-Base: #1e1e2e;
--Dark-Mantle: #181825;
--Dark-Crust: #11111b;
}
/* Light mode styles */
@media (prefers-color-scheme: light) {
body {
background-color: var(--Light-Base);
color: var(--Light-Text);
}
a {
color: var(--Light-Blue);
}
a:hover {
color: var(--Light-Saphire);
}
strong {
color: var(--Light-Red);
}
pre, code {
color: var(--Light-Subtext-1);
background-color: var(--Light-Mantle);
}
.topnav {
background-color: var(--Light-Overlay-0);
}
.topnav a {
color: var(--Light-Blue);
}
.topnav a:hover {
color: var(--Light-Saphire);
background-color: var(--Light-Overlay-2);
}
}
/* Dark mode styles */
@media (prefers-color-scheme: dark) {
body {
background-color: var(--Dark-Base);
color: var(--Dark-Text);
}
a {
color: var(--Dark-Blue);
}
a:hover {
color: var(--Dark-Saphire);
}
strong {
color: var(--Dark-Red);
}
pre, code {
color: var(--Dark-Subtext-1);
background-color: var(--Dark-Mantle);
}
.topnav {
background-color: var(--Dark-Overlay-0);
}
.topnav a {
color: var(--Dark-Blue);
}
.topnav a:hover {
color: var(--Dark-Saphire);
background-color: var(--Dark-Overlay-2);
}
}
/* Additional common styles */
h1, h2, h3, h4, h5, h6 {
margin: 0.5em 0;
}
button {
padding: 10px 15px;
border: none;
border-radius: 5px;
cursor: pointer;
transition: background-color 0.3s;
}
button:hover {
background-color: rgba(0, 0, 0, 0.1); /* Light hover effect */
}
a {
text-decoration: none;
}

View File

@@ -1,686 +0,0 @@
body {
font-family: sans-serif;
font-size: small;
border: solid #d9d8d1;
border-width: 1px;
margin: 10px;
background-color: #ffffff;
color: #000000;
}
a {
color: #0000cc;
}
a:hover, a:visited, a:active {
color: #880000;
}
span.cntrl {
border: dashed #aaaaaa;
border-width: 1px;
padding: 0px 2px 0px 2px;
margin: 0px 2px 0px 2px;
}
img.logo {
float: right;
border-width: 0px;
}
img.avatar {
vertical-align: middle;
}
img.blob {
max-height: 100%;
max-width: 100%;
}
a.list img.avatar {
border-style: none;
}
div.page_header {
height: 25px;
padding: 8px;
font-size: 150%;
font-weight: bold;
background-color: #d9d8d1;
}
div.page_header a:visited, a.header {
color: #0000cc;
}
div.page_header a:hover {
color: #880000;
}
div.page_nav {
padding: 8px;
}
div.page_nav a:visited {
color: #0000cc;
}
div.page_path {
padding: 8px;
font-weight: bold;
border: solid #d9d8d1;
border-width: 0px 0px 1px;
}
div.page_footer {
height: 22px;
padding: 4px 8px;
background-color: #d9d8d1;
}
div.page_footer_text {
line-height: 22px;
float: left;
color: #555555;
font-style: italic;
}
div#generating_info {
margin: 4px;
font-size: smaller;
text-align: center;
color: #505050;
}
div.page_body {
padding: 8px;
font-family: monospace;
}
div.title, a.title {
display: block;
padding: 6px 8px;
font-weight: bold;
background-color: #edece6;
text-decoration: none;
color: #000000;
}
div.readme {
padding: 8px;
}
a.title:hover {
background-color: #d9d8d1;
}
div.title_text {
padding: 6px 0px;
border: solid #d9d8d1;
border-width: 0px 0px 1px;
font-family: monospace;
}
div.log_body {
padding: 8px 8px 8px 150px;
}
span.age {
position: relative;
float: left;
width: 142px;
font-style: italic;
}
span.signoff {
color: #888888;
}
div.log_link {
padding: 0px 8px;
font-size: 70%;
font-family: sans-serif;
font-style: normal;
position: relative;
float: left;
width: 136px;
}
div.list_head {
padding: 6px 8px 4px;
border: solid #d9d8d1;
border-width: 1px 0px 0px;
font-style: italic;
}
.author_date, .author {
font-style: italic;
}
div.author_date {
padding: 8px;
border: solid #d9d8d1;
border-width: 0px 0px 1px 0px;
}
a.list {
text-decoration: none;
color: #000000;
}
a.subject, a.name {
font-weight: bold;
}
table.tags a.subject {
font-weight: normal;
}
a.list:hover {
text-decoration: underline;
color: #880000;
}
a.text {
text-decoration: none;
color: #0000cc;
}
a.text:visited {
text-decoration: none;
color: #880000;
}
a.text:hover {
text-decoration: underline;
color: #880000;
}
table {
padding: 8px 4px;
border-spacing: 0;
}
table.diff_tree {
font-family: monospace;
}
table.combined.diff_tree th {
text-align: center;
}
table.combined.diff_tree td {
padding-right: 24px;
}
table.combined.diff_tree th.link,
table.combined.diff_tree td.link {
padding: 0px 2px;
}
table.combined.diff_tree td.nochange a {
color: #6666ff;
}
table.combined.diff_tree td.nochange a:hover,
table.combined.diff_tree td.nochange a:visited {
color: #d06666;
}
table.blame {
border-collapse: collapse;
}
table.blame td {
padding: 0px 5px;
font-size: 100%;
vertical-align: top;
}
th {
padding: 2px 5px;
font-size: 100%;
text-align: left;
}
/* do not change row style on hover for 'blame' view */
tr.light,
table.blame .light:hover {
background-color: #ffffff;
}
tr.dark,
table.blame .dark:hover {
background-color: #f6f6f0;
}
/* currently both use the same, but it can change */
tr.light:hover,
tr.dark:hover {
background-color: #edece6;
}
/* boundary commits in 'blame' view */
/* and commits without "previous" */
tr.boundary td.sha1,
tr.no-previous td.linenr {
font-weight: bold;
}
/* for 'blame_incremental', during processing */
tr.color1 { background-color: #f6fff6; }
tr.color2 { background-color: #f6f6ff; }
tr.color3 { background-color: #fff6f6; }
td {
padding: 2px 5px;
font-size: 100%;
vertical-align: top;
}
td.link, td.selflink {
padding: 2px 5px;
font-family: sans-serif;
font-size: 70%;
}
td.selflink {
padding-right: 0px;
}
td.sha1 {
font-family: monospace;
}
.error {
color: red;
background-color: yellow;
}
td.current_head {
text-decoration: underline;
}
td.category {
background-color: #d9d8d1;
border-top: 1px solid #000000;
border-left: 1px solid #000000;
font-weight: bold;
}
table.diff_tree span.file_status.new {
color: #008000;
}
table.diff_tree span.file_status.deleted {
color: #c00000;
}
table.diff_tree span.file_status.moved,
table.diff_tree span.file_status.mode_chnge {
color: #777777;
}
table.diff_tree span.file_status.copied {
color: #70a070;
}
/* noage: "No commits" */
table.project_list td.noage {
color: #808080;
font-style: italic;
}
/* age2: 60*60*24*2 <= age */
table.project_list td.age2, table.blame td.age2 {
font-style: italic;
}
/* age1: 60*60*2 <= age < 60*60*24*2 */
table.project_list td.age1 {
color: #009900;
font-style: italic;
}
table.blame td.age1 {
color: #009900;
background: transparent;
}
/* age0: age < 60*60*2 */
table.project_list td.age0 {
color: #009900;
font-style: italic;
font-weight: bold;
}
table.blame td.age0 {
color: #009900;
background: transparent;
font-weight: bold;
}
td.pre, div.pre, div.diff {
font-family: monospace;
font-size: 12px;
white-space: pre;
}
td.mode {
font-family: monospace;
}
/* progress of blame_interactive */
div#progress_bar {
height: 2px;
margin-bottom: -2px;
background-color: #d8d9d0;
}
div#progress_info {
float: right;
text-align: right;
}
/* format of (optional) objects size in 'tree' view */
td.size {
font-family: monospace;
text-align: right;
}
/* styling of diffs (patchsets): commitdiff and blobdiff views */
div.diff.header,
div.diff.extended_header {
white-space: normal;
}
div.diff.header {
font-weight: bold;
background-color: #edece6;
margin-top: 4px;
padding: 4px 0px 2px 0px;
border: solid #d9d8d1;
border-width: 1px 0px 1px 0px;
}
div.diff.header a.path {
text-decoration: underline;
}
div.diff.extended_header,
div.diff.extended_header a.path,
div.diff.extended_header a.hash {
color: #777777;
}
div.diff.extended_header .info {
color: #b0b0b0;
}
div.diff.extended_header {
background-color: #f6f5ee;
padding: 2px 0px 2px 0px;
}
div.diff a.list,
div.diff a.path,
div.diff a.hash {
text-decoration: none;
}
div.diff a.list:hover,
div.diff a.path:hover,
div.diff a.hash:hover {
text-decoration: underline;
}
div.diff.to_file a.path,
div.diff.to_file {
color: #007000;
}
div.diff.add {
color: #008800;
}
div.diff.add span.marked {
background-color: #aaffaa;
}
div.diff.from_file a.path,
div.diff.from_file {
color: #aa0000;
}
div.diff.rem {
color: #cc0000;
}
div.diff.rem span.marked {
background-color: #ffaaaa;
}
div.diff.chunk_header a,
div.diff.chunk_header {
color: #990099;
}
div.diff.chunk_header {
border: dotted #ffe0ff;
border-width: 1px 0px 0px 0px;
margin-top: 2px;
}
div.diff.chunk_header span.chunk_info {
background-color: #ffeeff;
}
div.diff.chunk_header span.section {
color: #aa22aa;
}
div.diff.incomplete {
color: #cccccc;
}
div.diff.nodifferences {
font-weight: bold;
color: #600000;
}
/* side-by-side diff */
div.chunk_block {
overflow: hidden;
}
div.chunk_block div.old {
float: left;
width: 50%;
overflow: hidden;
}
div.chunk_block div.new {
margin-left: 50%;
width: 50%;
}
div.chunk_block.rem div.old div.diff.rem {
background-color: #fff5f5;
}
div.chunk_block.add div.new div.diff.add {
background-color: #f8fff8;
}
div.chunk_block.chg div div.diff {
background-color: #fffff0;
}
div.chunk_block.ctx div div.diff.ctx {
color: #404040;
}
div.index_include {
border: solid #d9d8d1;
border-width: 0px 0px 1px;
padding: 12px 8px;
}
div.search {
font-size: 100%;
font-weight: normal;
margin: 4px 8px;
float: right;
top: 56px;
right: 12px
}
div.projsearch {
text-align: center;
margin: 20px 0px;
}
div.projsearch form {
margin-bottom: 2px;
}
td.linenr {
text-align: right;
}
a.linenr {
color: #999999;
text-decoration: none
}
a.rss_logo {
float: right;
padding: 3px 5px;
line-height: 10px;
border: 1px solid;
border-color: #fcc7a5 #7d3302 #3e1a01 #ff954e;
color: #ffffff;
background-color: #ff6600;
font-weight: bold;
font-family: sans-serif;
font-size: 70%;
text-align: center;
text-decoration: none;
}
a.rss_logo:hover {
background-color: #ee5500;
}
a.rss_logo.generic {
background-color: #ff8800;
}
a.rss_logo.generic:hover {
background-color: #ee7700;
}
span.refs span {
padding: 0px 4px;
font-size: 70%;
font-weight: normal;
border: 1px solid;
background-color: #ffaaff;
border-color: #ffccff #ff00ee #ff00ee #ffccff;
}
span.refs span a {
text-decoration: none;
color: inherit;
}
span.refs span a:hover {
text-decoration: underline;
}
span.refs span.indirect {
font-style: italic;
}
span.refs span.ref {
background-color: #aaaaff;
border-color: #ccccff #0033cc #0033cc #ccccff;
}
span.refs span.tag {
background-color: #ffffaa;
border-color: #ffffcc #ffee00 #ffee00 #ffffcc;
}
span.refs span.head {
background-color: #aaffaa;
border-color: #ccffcc #00cc33 #00cc33 #ccffcc;
}
span.atnight {
color: #cc0000;
}
span.match {
color: #e00000;
}
div.binary {
font-style: italic;
}
div.remote {
margin: .5em;
border: 1px solid #d9d8d1;
display: inline-block;
}
/* JavaScript-based timezone manipulation */
.popup { /* timezone selection UI */
position: absolute;
/* "top: 0; right: 0;" would be better, if not for bugs in browsers */
top: 0; left: 0;
border: 1px solid;
padding: 2px;
background-color: #f0f0f0;
font-style: normal;
color: #000000;
cursor: auto;
}
.close-button { /* close timezone selection UI without selecting */
/* float doesn't work within absolutely positioned container,
* if width of container is not set explicitly */
/* float: right; */
position: absolute;
top: 0px; right: 0px;
border: 1px solid green;
margin: 1px 1px 1px 1px;
padding-bottom: 2px;
width: 12px;
height: 10px;
font-size: 9px;
font-weight: bold;
text-align: center;
background-color: #fff0f0;
cursor: pointer;
}
/* Style definition generated by highlight 2.4.5, http://andre-simon.de/doku/highlight/en/highlight.php */
/* Highlighting theme definition: */
.num { color:#2928ff; }
.esc { color:#ff00ff; }
.str { color:#ff0000; }
.dstr { color:#818100; }
.slc { color:#838183; font-style:italic; }
.com { color:#838183; font-style:italic; }
.dir { color:#008200; }
.sym { color:#000000; }
.line { color:#555555; }
.kwa { color:#000000; font-weight:bold; }
.kwb { color:#830000; }
.kwc { color:#000000; font-weight:bold; }
.kwd { color:#010181; }

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 79 KiB

343
htdocs/static/pure.css Normal file
View File

@@ -0,0 +1,343 @@
:root {
--Light-Rosewater: #dc8a78;
--Light-Flamingo: #dd7878;
--Light-Pink: #ea76cb;
--Light-Mauve: #8839ef;
--Light-Red: #d20f39;
--Light-Maroon: #e64553;
--Light-Peach: #fe640b;
--Light-Yellow: #df8e1d;
--Light-Green: #40a02b;
--Light-Teal: #179299;
--Light-Sky: #04a5e5;
--Light-Sapphire: #209fb5;
--Light-Blue: #1e66f5;
--Light-Lavender: #7287fd;
--Light-Text: #4c4f69;
--Light-Subtext-1: #5c5f77;
--Light-Subtext-0: #6c6f85;
--Light-Overlay-2: #7c7f93;
--Light-Overlay-1: #8c8fa1;
--Light-Overlay-0: #9ca0b0;
--Light-Surface-2: #acb0be;
--Light-Surface-1: #bcc0cc;
--Light-Surface-0: #ccd0da;
--Light-Base: #eff1f5;
--Light-Mantle: #e6e9ef;
--Light-Crust: #dce0e8;
--Dark-Rosewater: #f5e0dc;
--Dark-Flamingo: #f2cdcd;
--Dark-Pink: #f5c2e7;
--Dark-Mauve: #cba6f7;
--Dark-Red: #f38ba8;
--Dark-Maroon: #eba0ac;
--Dark-Peach: #fab387;
--Dark-Yellow: #f9e2af;
--Dark-Green: #a6e3a1;
--Dark-Teal: #94e2d5;
--Dark-Sky: #89dceb;
--Dark-Sapphire: #74c7ec;
--Dark-Blue: #89b4fa;
--Dark-Lavender: #b4befe;
--Dark-Text: #cdd6f4;
--Dark-Subtext-1: #bac2de;
--Dark-Subtext-0: #a6adc8;
--Dark-Overlay-2: #9399b2;
--Dark-Overlay-1: #7f849c;
--Dark-Overlay-0: #6c7086;
--Dark-Surface-2: #585b70;
--Dark-Surface-1: #45475a;
--Dark-Surface-0: #313244;
--Dark-Base: #1e1e2e;
--Dark-Mantle: #181825;
--Dark-Crust: #11111b;
}
@media (prefers-color-scheme: dark) {
* {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
/*
* -- BASE STYLES --
* Most of these are inherited from Base, but I want to change a few.
*/
body {
line-height: 1.7em;
color: var(--Dark-Text);
font-size: 13px;
}
h1,
h2,
h3,
h4,
h5,
h6,
label {
color: var(--Dark-Subtext-0);
}
.pure-img-responsive {
max-width: 100%;
height: auto;
}
/*
* -- LAYOUT STYLES --
* These are some useful classes which I will need
*/
.l-box {
padding: 1em;
}
.l-box-lrg {
padding: 2em;
border-bottom: 1px solid rgba(0,0,0,0.1);
}
.is-center {
text-align: center;
}
/*
* -- PURE FORM STYLES --
* Style the form inputs and labels
*/
.pure-form label {
margin: 1em 0 0;
font-weight: bold;
font-size: 100%;
}
.pure-form input[type] {
border: 2px solid #ddd;
box-shadow: none;
font-size: 100%;
width: 100%;
margin-bottom: 1em;
}
/*
* -- PURE BUTTON STYLES --
* I want my pure-button elements to look a little different
*/
.pure-button {
background-color: var(--Dark-Blue);
color: var(--Dark-Overlay-0);
padding: 0.5em 2em;
border-radius: 5px;
}
a.pure-button-primary {
background: var(--Dark-Overlay-0);
color: var(--Dark-Saphire);
border-radius: 5px;
font-size: 120%;
}
/*
* -- MENU STYLES --
* I want to customize how my .pure-menu looks at the top of the page
*/
.home-menu {
padding: 0.5em;
text-align: center;
box-shadow: 0 1px 1px rgba(0,0,0, 0.10);
}
.home-menu {
background: var(--Dark-Crust);
}
.pure-menu.pure-menu-fixed {
/* Fixed menus normally have a border at the bottom. */
border-bottom: none;
/* I need a higher z-index here because of the scroll-over effect. */
z-index: 4;
}
.home-menu .pure-menu-heading {
color: var(--Dark-Text);
font-weight: 400;
font-size: 120%;
}
.home-menu .pure-menu-selected a {
color: var(--Dark-Overlay-1);
}
.home-menu a {
color: var(--Dark-Blue);
}
.home-menu li a:hover,
.home-menu li a:focus {
background: none;
border: none;
color: var(--Dark-Saphire);
}
/*
* -- SPLASH STYLES --
* This is the blue top section that appears on the page.
*/
.splash-container {
background: var(--Dark-Base);
z-index: 1;
overflow: hidden;
/* The following styles are required for the "scroll-over" effect */
width: 100%;
height: 88%;
top: 0;
left: 0;
position: fixed !important;
}
.splash {
/* absolute center .splash within .splash-container */
width: 80%;
height: 50%;
margin: auto;
position: absolute;
top: 100px; left: 0; bottom: 0; right: 0;
text-align: center;
text-transform: uppercase;
}
/* This is the main heading that appears on the blue section */
.splash-head {
font-size: 20px;
font-weight: bold;
color: var(--Dark-Text);
border: 3px solid var(--Dark-Text);
padding: 1em 1.6em;
font-weight: 100;
border-radius: 5px;
line-height: 1em;
}
/* This is the subheading that appears on the blue section */
.splash-subhead {
color: var(--Dark-Subtext-0);
letter-spacing: 0.05em;
opacity: 0.8;
}
/*
* -- CONTENT STYLES --
* This represents the content area (everything below the blue section)
*/
.content-wrapper {
/* These styles are required for the "scroll-over" effect */
position: absolute;
top: 87%;
width: 100%;
min-height: 12%;
z-index: 2;
background: var(--Dark-Surface-1);
}
/* We want to give the content area some more padding */
.content {
padding: 1em 1em 3em;
}
/* This is the class used for the main content headers (<h2>) */
.content-head {
font-weight: 400;
text-transform: uppercase;
letter-spacing: 0.1em;
margin: 2em 0 1em;
}
/* This is a modifier class used when the content-head is inside a ribbon */
.content-head-ribbon {
color: var(--Dark-Subtext-0);
}
/* This is the class used for the content sub-headers (<h3>) */
.content-subhead {
color: var(--Dark-Subtext-1);
}
.content-subhead i {
margin-right: 7px;
}
/* This is the class used for the dark-background areas. */
.ribbon {
background: var(--Dark-Surface-0);
color: var(--Dark-Text);
}
/* This is the class used for the footer */
.footer {
background: var(--Dark-Mantle);
position: fixed;
bottom: 0;
width: 100%;
}
/*
* -- TABLET (AND UP) MEDIA QUERIES --
* On tablets and other medium-sized devices, we want to customize some
* of the mobile styles.
*/
@media (min-width: 48em) {
/* We increase the body font size */
body {
font-size: 16px;
}
/* We can align the menu header to the left, but float the
menu items to the right. */
.home-menu {
text-align: left;
}
.home-menu ul {
float: right;
}
/* We increase the height of the splash-container */
/* .splash-container {
height: 500px;
}*/
/* We decrease the width of the .splash, since we have more width
to work with */
.splash {
width: 50%;
height: 50%;
}
.splash-head {
font-size: 250%;
}
/* We remove the border-separator assigned to .l-box-lrg */
.l-box-lrg {
border: none;
}
}
/*
* -- DESKTOP (AND UP) MEDIA QUERIES --
* On desktops and other large devices, we want to over-ride some
* of the mobile and tablet styles.
*/
@media (min-width: 78em) {
/* We increase the header font size even more */
.splash-head {
font-size: 300%;
}
}
}