Files
andwati.com/apps/site/src/site.config.ts
T
andwati 9392d45f53 Build the design system: typography, color tokens, real Base layout
References: pixperk.tech (dark, warm off-white text, serif-italic +
mono mixed typography, personal dashboard modules) and mcyoung.xyz
(meta line with reading time, subtle accent underline on titles).

- src/styles/tokens.css: dark-first color palette with a warm-paper
  light mode (data-theme override + prefers-color-scheme, toggle wins
  either direction), fluid clamp() type scale, spacing/radius scale.
- Fonts: Fraunces (display/headings, italic), Newsreader (body,
  long-form readability), JetBrains Mono (nav/meta/code) — all
  self-hosted via @fontsource, continuing the mono choice already
  used in the legacy OG-image pipeline.
- Base.astro rewritten: real header/nav with active-link state, a
  theme toggle (persisted to localStorage, no-flash inline script),
  footer with social links (ported from zola.toml), replacing the
  scaffold placeholder.
- Reading time: toml-content-loader.ts computes wordCount/
  readingMinutes from the raw body at load time, surfaced in the
  writings list and detail meta line.
- Bug fix: the marked heading renderer was using raw token.text for
  both the visible heading and the TOC, so a heading like
  "**Registers**" rendered literal asterisks instead of bold — now
  renders inline tokens properly and strips markdown for the
  plain-text TOC label/slug.

Verified in-browser (light + dark) across home, a migrated writing
with TOC/headings, bookshelf, and 404.
2026-08-31 08:03:50 +03:00

35 lines
1.4 KiB
TypeScript

/**
* Site-wide metadata. Placeholder copy — ported from the legacy zola.toml
* values as a reasonable default, pending a real editorial pass once the
* design system lands.
*/
export const siteConfig = {
title: "Thoughts and Musings",
description: "Computer science, mathematics, life, and beliefs.",
baseUrl: "https://andwati.com",
author: "andwati",
llmsDescription:
"Ian Andwati's personal digital-legacy site covering computer science, mathematics, life, and beliefs — writings, portfolio, and a curated bookshelf.",
nav: [
{ name: "Writings", url: "/writings/" },
{ name: "Portfolio", url: "/portfolio/" },
{ name: "Bookshelf", url: "/bookshelf/" },
{ name: "Blogs", url: "/blogs/" },
],
social: {
github: "https://github.com/andwati",
twitter: "https://twitter.com/andwati_",
youtube: "https://www.youtube.com/@pwnforfunandprofit",
email: "[email protected]",
},
tagDescriptions: {
linux:
"Practical notes on running Arch-based Linux distributions, from WiFi hotspot quirks to database setup.",
"subresource-integrity":
"How Subresource Integrity (SRI) hashes protect a site from tampered third-party scripts and stylesheets.",
garuda:
"Setup notes for Garuda Linux, an Arch-based distribution built for performance.",
cors: "Notes on Cross-Origin Resource Sharing (CORS) and how browsers enforce cross-origin security policies.",
} as Record<string, string>,
};