Skip to content
avengerwebPublic

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Repository files navigation

aven.dev

Personal site of Vadim Shchepotev. Astro, static output, TypeScript, native CSS. No UI framework runtime, no analytics, no trackers.

Requirements

  • Node 24 (see .nvmrc). Astro 7 requires >=22.12.0; this project is developed and built on the current Node 24 LTS line.
  • npm >= 9.6.5, using package-lock.json.
nvm use      # reads .nvmrc
npm ci

Scripts

Script What it does
npm run dev Prepares assets, then starts the Astro dev server.
npm run check astro check — TypeScript and template diagnostics.
npm run build Prepares assets, then builds static output into dist/.
npm run preview Serves the built dist/ locally.
npm run assets Asset preparation only (see below).
npm run bundle Runs check + build and prints where the output is. Publishes nothing.

Asset preparation

scripts/prepare-assets.mjs runs before dev and build. It:

  1. Copies the latin woff2 subsets out of node_modules into public/fonts, together with each font's licence notice (*-LICENSE.txt), since the font files are redistributed with the site.
  2. Derives responsive AVIF/WebP variants of the source artworks in public/images. The multi-megabyte source PNGs are the input only; an Astro integration prunes them from dist/. The featured horse art prefers gypsy-vanner-study.png and falls back to equestrian-study.png; both write the same equestrian-* variants.
  3. Rasterises the favicon set and the 1200x630 social card.

Outputs are regenerated whenever they are older than their source, older than the script itself, or built from a different source than the one recorded in public/images/derived/sources.json, so changing a crop, a quality setting, the social card copy or the horse source never leaves a stale file behind. Delete public/images/derived to force a full rebuild.

Structure

  • src/data/site.ts — the main biographical and project copy, metadata and links.
  • src/layouts/Base.astro — document head, metadata, fonts, landmarks.
  • src/sections/ — the four home page sections.
  • src/components/ — header, footer, artwork, legacy-route notice.
  • src/scripts/ — progressive enhancement only (pond canvas, copy-to-clipboard, legacy hash routes). The page is complete without them.
  • src/styles/global.css — tokens, reset, shared primitives. One dark theme.

Deployment

The build is a plain static site. dist/ includes CNAME for GitHub Pages custom-domain hosting, plus robots.txt and a sitemap.

Publishing is deliberately manual. npm run bundle builds and stops; it does not commit, push, or contact any remote. The 2021 deploy.sh, which force-pushed a throwaway repository over a Pages branch, has been removed.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages