|
| 1 | +# CLAUDE.md |
| 2 | + |
| 3 | +This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository. |
| 4 | + |
| 5 | +## What this is |
| 6 | + |
| 7 | +A static HTML personal portfolio/CV site for Lars Richter, hosted on GitHub Pages at `lars-richter.dev`. There is no build step, no package manager, no test suite, and no CI/CD pipeline. The entire site is a single `index.html` plus `site.css`. |
| 8 | + |
| 9 | +## Development |
| 10 | + |
| 11 | +Since there is no build toolchain, previewing changes requires a local HTTP server: |
| 12 | + |
| 13 | +```bash |
| 14 | +python3 -m http.server 8080 |
| 15 | +# then open http://localhost:8080 |
| 16 | +``` |
| 17 | + |
| 18 | +There are no linting, formatting, or test commands. |
| 19 | + |
| 20 | +## Architecture |
| 21 | + |
| 22 | +- **`index.html`** — the entire site. Contains a two-column layout: a sticky profile sidebar (left) and a chronological work history timeline (right). |
| 23 | +- **`site.css`** — custom styles layered on top of Bulma. Defines hover colors for social icons, the `.highlight-color` accent (`#209cee`), and responsive font sizing. |
| 24 | +- **`images/`** — company logos and the profile photo referenced directly in `index.html`. |
| 25 | + |
| 26 | +### CSS framework conventions |
| 27 | + |
| 28 | +The site uses [Bulma](https://bulma.io/) (v1.0.0 via CDN) for layout and components, and [Font Awesome](https://fontawesome.com/) (v6.4.2 via CDN) for icons. Bulma utility classes (`is-4`, `has-text-centered`, `tags are-medium`, etc.) are used throughout. Custom overrides live in `site.css`; don't add inline styles. |
| 29 | + |
| 30 | +### Work history entry pattern |
| 31 | + |
| 32 | +Each job entry in the timeline follows this structure inside `.content > .media`: |
| 33 | + |
| 34 | +```html |
| 35 | +<div class="media"> |
| 36 | + <div class="media-left"> |
| 37 | + <figure class="image is-64x64"> |
| 38 | + <img src="images/logo.jpg" alt="Company Logo"> |
| 39 | + </figure> |
| 40 | + </div> |
| 41 | + <div class="media-content"> |
| 42 | + <p class="title is-4">Role @ Company</p> |
| 43 | + <p class="subtitle is-6">Start - End (use <span class="tag is-info">today</span> for current)</p> |
| 44 | + <!-- description paragraphs --> |
| 45 | + <p class="title is-6"><i class="fa fa-lightbulb highlight-color"></i> Skills</p> |
| 46 | + <div class="tags are-medium"><!-- skill tags --></div> |
| 47 | + <!-- optionally: Languages/Frameworks block and Tools block --> |
| 48 | + <p class="title is-6"><i class="fa fa-map-marked-alt highlight-color"></i> Location</p> |
| 49 | + <div class="tags are-medium"><span class="tag">City</span></div> |
| 50 | + </div> |
| 51 | +</div> |
| 52 | +<hr> |
| 53 | +``` |
| 54 | + |
| 55 | +Entries are ordered newest-first. The `<hr>` goes after each entry except the last. |
| 56 | + |
| 57 | +## Deployment |
| 58 | + |
| 59 | +Pushing to `main` on GitHub automatically deploys via GitHub Pages. There is no manual deploy step. |
0 commit comments