Switch to local Unscii font and begin work on new stylesheet

Remove Google Fonts and the old external stylesheet link. Add (inline for now)
@font-face rules for unscii fonts and new link/p/ul styles, and set the
root font to unscii16. Minor UI tweaks: style the skip link background,
remove the "Tools" nav item for now, fix the contact page title and link
markup, and replace the homepage copy with an "Under Construction"
message.
This commit is contained in:
badblocks 2026-01-27 15:16:38 -08:00
parent e67e72ea66
commit 7dd61775b3
No known key found for this signature in database
4 changed files with 66 additions and 18 deletions

View file

@ -7,7 +7,7 @@
/* Base styles */ /* Base styles */
body { body {
font-family: "Courier New", Courier, monospace; /*font-family: "Courier New", Courier, monospace;*/
background-color: var(--bg-color); background-color: var(--bg-color);
color: var(--text-color); color: var(--text-color);
line-height: 1.6; line-height: 1.6;

View file

@ -5,26 +5,71 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="icon" type="image/svg+xml" href="/favicon.svg" /> <link rel="icon" type="image/svg+xml" href="/favicon.svg" />
<meta name="generator" content={Astro.generator} /> <meta name="generator" content={Astro.generator} />
<link rel="stylesheet" type="text/css" href="/style.css" /> <!--<link rel="stylesheet" type="text/css" href="/style.css" />-->
<link rel="sitemap" href="/sitemap-index.xml" /> <link rel="sitemap" href="/sitemap-index.xml" />
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
<link
href="https://fonts.googleapis.com/css2?family=VT323&display=swap"
rel="stylesheet"
/>
<script> <script>
const yearSpan = document.querySelector("#copyright-year"); const yearSpan = document.querySelector("#copyright-year");
if (yearSpan) { if (yearSpan) {
yearSpan.innerHTML = new Date().getFullYear().toString(); yearSpan.innerHTML = new Date().getFullYear().toString();
} }
</script> </script>
<style is:inline>
@font-face {
font-family: "unscii16";
src:
url("unscii-16.woff") format("woff"),
url("unscii-16.ttf") format("ttf");
}
@font-face {
font-family: "unscii8";
src:
url("unscii-8.woff") format("woff"),
url("unscii-8.ttf") format("ttf");
}
a {
color: #333;
text-decoration: none;
&:visited {
color: #555;
}
&:hover {
color: #555;
text-decoration: underline;
text-decoration-style: dashed;
}
}
p a {
margin: 0 -0.5rem;
padding: 0 0.5rem;
&:hover::before {
content: "[";
}
&:hover::after {
content: "]";
}
&:hover {
text-decoration: none;
padding: 0;
}
}
ul {
list-style-type: square;
}
</style>
<style> <style>
h1 {
font-family: "unscii16", monospace;
font-size: 32px;
text-align: center;
}
:root { :root {
--min-body-width: 30ch; --min-body-width: 30ch;
--max-body-width: 120ch; --max-body-width: 120ch;
font-size: 16px; font-size: 16px;
font-family: "VT323", monospace; font-family: "unscii16", monospace;
font-weight: 400; font-weight: 400;
font-style: normal; font-style: normal;
} }
@ -46,6 +91,8 @@
position: absolute; position: absolute;
top: 0; top: 0;
left: 0; left: 0;
background-color: #ccc;
color: #000;
} }
header { header {
@ -91,7 +138,6 @@
<option value="city-destroyed">Apocalypse</option> <option value="city-destroyed">Apocalypse</option>
</select> </select>
</li> </li>
<li><a href="/tools">Tools</a></li>
<li><a href="/contact">Contact</a></li> <li><a href="/contact">Contact</a></li>
<li><a href="https://git.badblocks.dev" target="_blank">Git</a></li> <li><a href="https://git.badblocks.dev" target="_blank">Git</a></li>
</ul> </ul>

View file

@ -115,10 +115,12 @@ const msgValue = pickValue("msg");
} }
label[for="captcha"] { label[for="captcha"] {
grid-area: captcha; grid-area: captcha;
a {
color: #000;
}
} }
#captchaStatus { #captchaStatus {
padding: 0.8rem 0; padding: 0.8rem 0;
font-size: small;
} }
button { button {
height: 39px; height: 39px;
@ -150,9 +152,12 @@ const msgValue = pickValue("msg");
} }
</style> </style>
<Layout> <Layout>
<title slot="head">Home</title> <title slot="head">Contact</title>
<Fragment slot="content"> <Fragment slot="content">
<h2>Contact</h2> <h2>Contact</h2>
<p><a href="https://kagi.com">Link Style 1</a></p><a href="https://kagi.com"
>Link Style 2</a
>
{ {
(nextAction != "complete" && ( (nextAction != "complete" && (
<form method="post" x-data="{}" action={actions.contact.submitForm}> <form method="post" x-data="{}" action={actions.contact.submitForm}>
@ -231,7 +236,7 @@ const msgValue = pickValue("msg");
</fieldset> </fieldset>
<label for="captcha"> <label for="captcha">
{/* prettier-ignore */} {/* prettier-ignore */}
<a href="https://capjs.js.org/" tabindex="-1">Cap</a>tcha <a href="https://capjs.js.org/" tabindex="-1">Captcha</a>
<input type="hidden" id="captcha" name="captcha" /> <input type="hidden" id="captcha" name="captcha" />
<div id="captchaStatus"> <div id="captchaStatus">
<iconify-icon id="initIcon" icon="line-md:loading-loop" /> <iconify-icon id="initIcon" icon="line-md:loading-loop" />

View file

@ -140,11 +140,8 @@ import Layout from "@layouts/BaseLayout.astro";
<div class="layer layer-4"></div> <div class="layer layer-4"></div>
<div class="layer layer-5"></div> <div class="layer layer-5"></div>
</div> </div>
<h2>Lorem Ipsum</h2> <h2>Under Construction</h2>
<p> <p>Pardon the dust!</p>
Neque porro quisquam est qui dolorem ipsum quia dolor sit amet,
consectetur, adipisci velit.
</p>
</article> </article>
</Fragment> </Fragment>
</Layout> </Layout>