diff --git a/_includes/layouts/base.njk b/_includes/layouts/base.njk index 850f7c4..dda6da7 100644 --- a/_includes/layouts/base.njk +++ b/_includes/layouts/base.njk @@ -28,7 +28,7 @@ -
+
  1. Edit the _data/metadata.json with your blog’s information.
  2. (Optional) Edit .eleventy.js with your configuration preferences.
  3. diff --git a/css/index.css b/css/index.css index 25c9c82..f83cadf 100644 --- a/css/index.css +++ b/css/index.css @@ -1,13 +1,37 @@ -/* Colors */ +/* Defaults */ :root { - --lightgray: #e0e0e0; - --gray: #C0C0C0; - --darkgray: #333; - --navy: #17050F; - --blue: #082840; - --white: #fff; + --font-family: -apple-system, system-ui, sans-serif; + --font-family-monospace: Consolas, Menlo, Monaco, Andale Mono WT, Andale Mono, Lucida Console, Lucida Sans Typewriter, DejaVu Sans Mono, Bitstream Vera Sans Mono, Liberation Mono, Nimbus Mono L, Courier New, Courier, monospace; } +/* Theme colors */ +:root { + --color-gray-20: #e0e0e0; + --color-gray-50: #C0C0C0; + --color-gray-90: #333; + + --background-color: #fff; + + --text-color: var(--color-gray-90); + --text-color-link: #082840; + --text-color-link-visited: #17050F; +} + +@media (prefers-color-scheme: dark) { + :root { + --color-gray-20: #e0e0e0; + --color-gray-50: #C0C0C0; + --color-gray-90: #dad8d8; + + /* --text-color is assigned to --color-gray-_ above */ + --text-color-link: #1493fb; + --text-color-link-visited: #a6a6f8; + + --background-color: #15202b; + } +} + + /* Global stylesheet */ * { box-sizing: border-box; @@ -17,10 +41,11 @@ html, body { padding: 0; margin: 0; - font-family: -apple-system, system-ui, sans-serif; - color: var(--darkgray); - background-color: var(--white); + font-family: var(--font-family); + color: var(--text-color); + background-color: var(--background-color); } + p:last-child { margin-bottom: 0; } @@ -33,12 +58,14 @@ p, .tmpl-post li { line-height: 1.45; } + a[href] { - color: var(--blue); + color: var(--text-color-link); } a[href]:visited { - color: var(--navy); + color: var(--text-color-link-visited); } + main { padding: 1rem; } @@ -46,13 +73,14 @@ main :first-child { margin-top: 0; } header { - border-bottom: 1px dashed var(--lightgray); + border-bottom: 1px dashed var(--color-gray-20); } header:after { content: ""; display: table; clear: both; } + table { margin: 1em 0; } @@ -63,7 +91,7 @@ table th { pre, code { - font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-family: var(--font-family-monospace); line-height: 1.5; } pre { @@ -78,7 +106,6 @@ pre { -o-tab-size: 2; tab-size: 2; -webkit-hyphens: none; - -moz-hyphens: none; -ms-hyphens: none; hyphens: none; padding: 1em; @@ -141,7 +168,7 @@ code { .postlist-date, .postlist-item:before { font-size: 0.8125em; /* 13px /16 */ - color: var(--darkgray); + color: var(--color-gray-90); } .postlist-date { word-spacing: -0.5px; @@ -173,8 +200,8 @@ code { margin-left: 0.6666666666667em; /* 8px /12 */ margin-top: 0.5em; /* 6px /12 */ margin-bottom: 0.5em; /* 6px /12 */ - color: var(--darkgray); - border: 1px solid var(--gray); + color: var(--color-gray-90); + border: 1px solid var(--color-gray-50); border-radius: 0.25em; /* 3px /12 */ text-decoration: none; line-height: 1.8; @@ -185,18 +212,28 @@ a[href].post-tag:visited { } a[href].post-tag:hover, a[href].post-tag:focus { - background-color: var(--lightgray); + background-color: var(--color-gray-20); } .postlist-item > .post-tag { align-self: center; } -/* Warning */ -.warning { - background-color: #ffc; +/* Infobox */ +:root { + --color-infobox: #ffc; +} +@media (prefers-color-scheme: dark) { + :root { + --color-infobox: #082840; + } +} + +.infobox { + background-color: var(--color-infobox); + color: var(--color-gray-90); padding: 1em 0.625em; /* 16px 10px /16 */ } -.warning ol:only-child { +.infobox ol:only-child { margin: 0; }