diff --git a/public/theme.css b/public/theme.css
index ea6dcb7..a947127 100644
--- a/public/theme.css
+++ b/public/theme.css
@@ -356,32 +356,28 @@ nav {
justify-content: flex-end;
list-style: none;
padding-block: var(--stack-small);
- padding-inline: 0;
+ padding-inline: 1ch;
}
.display-prefs-nav summary::-webkit-details-marker {
display: none;
}
-.display-prefs-nav summary::before {
- color: transparent;
- text-shadow: none;
- content: "[" / "";
+.display-prefs-nav summary:hover {
+ padding-inline: 0;
}
-.display-prefs-nav summary::after {
- color: transparent;
- text-shadow: none;
- content: "]" / "";
+.display-prefs-nav summary:hover::before {
+ color: var(--color-glow);
+ content: "[";
}
-.display-prefs-nav summary:hover::before,
.display-prefs-nav summary:hover::after {
color: var(--color-glow);
- text-shadow: inherit;
+ content: "]";
}
.display-prefs-nav summary > span {
translate: 0 -0.225em;
}
.display-prefs-panel {
background-color: var(--color-bg);
- border: 1px solid var(--color-accent);
+ border: 2px solid var(--color-accent);
min-inline-size: 10em;
padding-block: var(--stack-small);
padding-inline: var(--gutter-small);
@@ -418,30 +414,21 @@ form p {
a {
color: var(--color-fg);
margin: 0 -1ch;
+ padding: 0 1ch;
text-decoration: underline;
text-decoration-color: var(--color-glow);
- /* Brackets always occupy their space and hover only reveals them. Swapping
- ch-based padding for a rendered glyph shifts the text by a subpixel,
- because the fluid root font-size makes 1ch fractional.
- The / "" keeps them out of the accessible name. */
- &::before {
- color: transparent;
- text-shadow: none;
- content: "[" / "";
+ &:hover::before {
+ color: var(--color-glow);
+ content: "[";
}
- &::after {
- color: transparent;
- text-shadow: none;
- content: "]" / "";
- }
- &:hover::before,
&:hover::after {
color: var(--color-glow);
- text-shadow: inherit;
+ content: "]";
}
&:hover {
color: var(--color-fg);
+ padding: 0;
text-decoration: none;
}
}
@@ -452,8 +439,10 @@ footer a {
margin: 0 auto;
padding: 0;
- &::before,
- &::after {
+ &:hover::before {
+ content: none;
+ }
+ &:hover::after {
content: none;
}
}
diff --git a/src/components/PageHeader.astro b/src/components/PageHeader.astro
deleted file mode 100644
index 71000de..0000000
--- a/src/components/PageHeader.astro
+++ /dev/null
@@ -1,64 +0,0 @@
----
-interface Props {
- /** Shell-style path shown as the heading, e.g. "~/projects" */
- path: string;
- /** Command echoed under the heading, without the "$ " prompt */
- command?: string;
- /** Heading level; pages with their own
elsewhere should stay at 2 */
- level?: 1 | 2;
-}
-const { path, command, level = 2 } = Astro.props;
-const Heading = level === 1 ? "h1" : "h2";
----
-
-
-
-
diff --git a/src/components/ProjectCard.astro b/src/components/ProjectCard.astro
deleted file mode 100644
index 92afeec..0000000
--- a/src/components/ProjectCard.astro
+++ /dev/null
@@ -1,73 +0,0 @@
----
-import type { Project } from "@lib/ProjectsCache";
-interface Props { project: Project }
-const { project } = Astro.props;
-// Space instead of "T" gives the browser somewhere to wrap; the datetime
-// attribute keeps the real ISO value.
-const committedAtLabel = project.lastCommitAt.replace("T", " ");
----
-
-
-
-
- {project.description && {project.description}
}
- {project.lastCommitMessage && (
-
- {project.lastCommitSha} {project.lastCommitMessage}
-
- )}
-
- {project.languages.length > 0 && (
- `${l.name} ${l.percent}%`).join(", ")}`}>
- {project.languages.map((l) => (
-
- ))}
-
-
- {project.languages.slice(0, 4).map((l) => {l.name} {l.percent}%)}
-
- )}
-
- {project.topics.length > 0 && (
-
- {project.topics.map((t) => - #{t}
)}
-
- )}
-
diff --git a/src/layouts/BaseLayout.astro b/src/layouts/BaseLayout.astro
index fbbfc67..9f3eadd 100644
--- a/src/layouts/BaseLayout.astro
+++ b/src/layouts/BaseLayout.astro
@@ -44,7 +44,6 @@
@@ -107,7 +106,7 @@
/>
- Made from scratch with BAAHz: Bun, Astro, Alpine.js, and Htmz!
+ Made from scratch with BAHz: Bun, Astro, and Htmz!