Files
malxte_de_svelte/README.md

108 lines
2.5 KiB
Markdown

# malxte.de
Personal about page for **Malxte** (ByteMalte) — a Rust developer, Nostr enthusiast, and content creator. Live at [malxte.de](https://malxte.de).
Built with [SvelteKit](https://svelte.dev/kit) and following the [BYTEMALTE Design System](./BYTEMALTE.md).
## Tech Stack
| Layer | Technology |
|-------|-----------|
| Framework | SvelteKit 2 / Svelte 5 |
| Language | TypeScript |
| Build Tool | Vite 7 |
| Package Manager | pnpm |
| Styling | Scoped CSS (component-level) |
| Font | Inter (Google Fonts) |
## Getting Started
### Prerequisites
- Node.js 18+
- pnpm (enforced via `engine-strict`)
### Install dependencies
```bash
pnpm install
```
### Development server
```bash
pnpm dev
```
Opens at [http://localhost:5173](http://localhost:5173).
### Type checking
```bash
pnpm check
```
### Production build
```bash
pnpm build
```
Output goes to `.svelte-kit/` (adapter-dependent for deployment).
### Preview production build
```bash
pnpm preview
```
## Project Structure
```
src/
├── app.html # HTML shell (loads Inter font)
├── app.d.ts # SvelteKit type declarations
├── lib/
│ ├── index.ts # Library entry point
│ └── assets/
│ └── favicon.svg # Site favicon
└── routes/
├── +layout.svelte # Global layout (header, nav, footer)
└── +page.svelte # Home page (hero, about, connect, projects)
static/
└── robots.txt # Crawl permissions
```
## Sections
The single-page site contains four sections:
1. **Hero** — Name, tagline, CTA buttons, and Nostr identity card (NIP-05 + npub with copy-to-clipboard)
2. **About Me** — Three cards covering Rust development, community building, and Nostr advocacy
3. **Connect** — Links to ByteMalte.de, YouTube, X/Twitter, Gitea, and Reddit
4. **Projects** — Showcases example projects (ByteMalte.de, Maltemedia)
## Design
All colors, typography, and component specs follow the [BYTEMALTE Design System v1.1](./BYTEMALTE.md). Key tokens:
- **Primary**: `#8888FF`
- **Secondary**: `#3DDC84`
- **Background**: `#0F172A`
- **Surface**: `#1E293B`
All colors meet WCAG AA contrast requirements (4.5:1 minimum for normal text).
## Deployment
Uses `@sveltejs/adapter-auto` which auto-detects the deployment target. For specific platforms:
- **Vercel**: Works out of the box
- **Netlify**: Works out of the box
- **Cloudflare Pages**: Works out of the box
- **Node.js**: Switch to `@sveltejs/adapter-node`
## License
Private — All rights reserved.