35 lines
1.2 KiB
Markdown
35 lines
1.2 KiB
Markdown
# schmelczer.dev
|
|
|
|
Engineering writeups by Andras Schmelczer: finished projects with the design constraints left in. Built with Astro, no required client JavaScript.
|
|
|
|
All content lives in the single `src/content/work` collection: each entry can carry an `article` facet (a page under `/articles/`), a `project` facet (a card on `/projects/`), or both. Normal pages are rendered as static HTML.
|
|
|
|
## Setup
|
|
|
|
```sh
|
|
npm ci
|
|
npx playwright install --with-deps chromium # required before Playwright QA checks
|
|
```
|
|
|
|
The `overrides.yaml` entry in `package.json` forces every transitive `yaml` dependency to 2.9+, ahead of what some Astro tooling requests on its own. Drop it once `npm ls yaml` shows nothing older without it.
|
|
|
|
## Commands
|
|
|
|
```sh
|
|
npm run dev
|
|
npm run lint
|
|
npm run build
|
|
npm run preview
|
|
npm run qa
|
|
```
|
|
|
|
## Structure
|
|
|
|
- `src/content/work`: Markdown entries (article and/or project facets)
|
|
- `src/pages`: static routes
|
|
- `src/layouts`: page and post layouts
|
|
- `src/components`: reusable UI pieces
|
|
- `src/styles/global.css`: the visual system
|
|
- `scripts`: QA checks run by `npm run qa` (shared helpers in `scripts/lib`)
|
|
- `public/media/downloads`: CV and thesis PDFs
|
|
- `public/media/video`: project videos
|