layout and styling

This commit is contained in:
2026-05-13 17:00:38 -07:00
parent f0c9c354c1
commit 725ff3b000
6 changed files with 124 additions and 10 deletions

View File

@ -27,6 +27,8 @@
<!-- CSS --> <!-- CSS -->
<style>{% include "css/main.css" %}</style> <style>{% include "css/main.css" %}</style>
<style>{% include "css/print.css" %}</style>
<style>{% include "css/nav.css" %}</style>
<style>{% getBundle "css" %}</style> <style>{% getBundle "css" %}</style>
{# {#

View File

@ -2,13 +2,11 @@
<html lang="en"> <html lang="en">
{% include "head.njk" %} {% include "head.njk" %}
<body> <body>
<div id="content">
{% include "header.njk" %} {% include "header.njk" %}
<main id="main"> <main id="main">
{{ content | safe }} {{ content | safe }}
</main> </main>
</div>
{% include "footer.njk" %} {% include "footer.njk" %}
<!-- This page `{{ page.url }}` was built on {% currentBuildDate %} --> <!-- This page `{{ page.url }}` was built on {% currentBuildDate %} -->

View File

@ -2,10 +2,12 @@
layout: base.njk layout: base.njk
--- ---
<h1>{{ title }}</h1>
{% if hero %} {% if hero %}
<img src="{{ hero.src }}" alt="{{ hero.alt }}"> <img class="hero" src="{{ hero.src }}" alt="{{ hero.alt }}">
{% endif %} {% endif %}
<div id="content">
<h1>{{ title }}</h1>
{{ content | safe }} {{ content | safe }}
</div>

View File

@ -1,5 +1,14 @@
:root { :root {
color-scheme: light dark; color-scheme: light dark;
--color-light: #ddd;
--color-dark: #222;
--color-teal: #014d4e;
--color-pink: #ffb2d0;
--color-bg: light-dark(var(--color-light), var(--color-dark));
--color-text: light-dark(var(--color-dark), var(--color-light));
--color-accent: light-dark(var(--color-teal), var(--color-pink));
} }
/* numbered components are from https://www.joshwcomeau.com/css/custom-css-reset/ */ /* numbered components are from https://www.joshwcomeau.com/css/custom-css-reset/ */
@ -25,6 +34,27 @@ body {
line-height: 1.5; line-height: 1.5;
/* 5. Improve text rendering */ /* 5. Improve text rendering */
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
color: var(--color-text);
background-color: var(--color-bg);
font-family: sans-serif;
}
#content {
width: 65%;
max-width: 1800px;
margin: 1rem auto;
}
@media (max-width: 1100px) {
#content {
width: 85%;
}
}
@media (max-width: 650px) {
#content {
width: 92%;
}
} }
/* 6. Improve media defaults */ /* 6. Improve media defaults */
@ -32,6 +62,7 @@ img, picture, video, canvas, svg {
display: block; display: block;
max-width: 100%; max-width: 100%;
height: auto; height: auto;
margin: 0 auto;
} }
/* 7. Inherit fonts for form controls */ /* 7. Inherit fonts for form controls */
@ -58,3 +89,27 @@ h1, h2, h3, h4, h5, h6 {
#root, #__next { #root, #__next {
isolation: isolate; isolation: isolate;
} }
/* Basic elements */
h1, h2, h3, h4, h5, h6 {
font-family: serif;
}
h1, h2, h3, h4, h5, h6,
a {
color: var(--color-accent);
}
a {
padding: .1rem;
border-radius: .05rem;
}
a:focus-visible {
outline: solid var(--color-accent);
}
.hero {
aspect-ratio: 32 / 9;
object-fit: cover;
}

34
css/nav.css Normal file
View File

@ -0,0 +1,34 @@
/* Header, footer, nav */
#skip {
background-color: var(--color-bg);
position: absolute;
left: -999px;
top: -999px;
}
#skip:focus-visible {
left: 10%;
top: 5%;
}
header a[aria-current="page"]::before,
footer a[aria-current="page"]::before {
content: "> " / "";
}
header a[aria-current="page"]::after,
footer a[aria-current="page"]::after {
content: " <" / "";
}
header h2 a {
text-decoration: none;
}
nav ul {
display: flex;
justify-content: center;
flex-flow: row wrap;
list-style: none;
gap: 1rem;
}

23
css/print.css Normal file
View File

@ -0,0 +1,23 @@
/* Print media */
@media print {
header,
footer,
nav {
display: none;
}
body {
background-color: #fff;
width: 95vw;
}
body,
h1, h2, h3, h4, h5,
a {
color: #000;
}
a::after {
content: " (" attr(href) ")";
}
}