Files
markusgraf_ch/README.md

64 lines
1.9 KiB
Markdown

# markusgraf.ch
Source code for [markusgraf.ch](https://markusgraf.ch) — personal website of Markus Graf, built with [Hugo](https://gohugo.io/).
## About
Markus Graf is a developer, BSc Psychology graduate, and consultant based in Switzerland. The site serves as his personal blog and digital CV. Topics include AI agents, ADHD & productivity, digital tools, and tech experiments.
## Tech Stack
- **Static site generator**: [Hugo](https://gohugo.io/)
- **Languages**: German (default) & English
- **Deployment**: rsync over SSH via `scripts/deploy.sh`
- **Hosted at**: markusgraf.ch
## Site Structure
```
content/
├── blog/ # Blog posts (bilingual, DE + EN)
├── cv.de.md # Lebenslauf (DE)
└── cv.en.md # Curriculum Vitae (EN)
```
Blog posts are organized as page bundles (one folder per post). Each post has a `translationKey` to link its language variants.
## Local Development
```bash
hugo server -D
```
The site is served at `http://localhost:1313`. Draft posts (`-D`) are included.
## Deployment
The site is deployed via rsync. See [DEPLOYMENT.md](DEPLOYMENT.md) for the full guide.
```bash
hugo build
export SSH_USER='user'
export SSH_HOST='server.com'
./scripts/deploy.sh
```
## Workflow
All changes go through feature branches. See [AGENTS.md](AGENTS.md) for the full Git workflow and OpenSpec conventions.
```bash
git checkout -b feature/my-change
# make changes
git commit -m "feat: description"
# open pull request
```
Commit message conventions: `feat:`, `fix:`, `docs:`, `refactor:`, `test:`
## LLM Friendliness
The site includes a `static/llms.txt` file following the [llms.txt specification](https://llmstxt.org/), listing key pages for LLM discovery. When adding content, keep `static/llms.txt` up to date.
AI assistants working in this project should read [AGENTS.md](AGENTS.md) and [CLAUDE.md](CLAUDE.md) for project-specific instructions.