# Colin Knapp Portfolio Resume

A professional portfolio website with accessibility features and automated testing.

## Features

- Responsive design for all device sizes
- Light/dark mode toggle with system preference detection
- High contrast accessible design
- Keyboard navigable interface
- WCAG 2.1 Level AA+ compliant

## Development

### Prerequisites

- Node.js (v14 or higher)
- npm (v6 or higher)

### Setup

1. Clone the repository:
   ```bash
   git clone git@git.nixc.us:colin/resume.git
   cd resume
   ```

2. Install dependencies:
   ```bash
   npm install
   ```

3. Set up Playwright browsers:
   ```bash
   npm run setup
   ```

### Local Development

To serve the site locally for development:

```bash
npm run serve
```

This will start a local development server at http://localhost:8080.

### Testing

The project includes automated testing using Playwright for functional tests and Lighthouse for performance and accessibility audits.

#### Running all tests

```bash
npm test
```

#### Running only Playwright tests

```bash
npm run test:playwright
```

#### Running only Lighthouse tests

```bash
npm run test:lighthouse
```

### Docker Deployment

The site is deployed using Docker and Caddy. The deployment configuration is in the `docker` directory.

To build and run the Docker container locally:

```bash
cd docker
docker build -t resume:latest ./resume/
docker run -p 8080:8080 resume:latest
```

## Accessibility

This site is designed to meet WCAG 2.1 Level AA+ standards. Key accessibility features include:

- Proper heading hierarchy
- Keyboard navigable interface with visible focus states
- Color contrast ratios that exceed WCAG AA requirements
- Semantic HTML structure
- Accessible form controls and ARIA attributes
- Light/dark mode support with system preference detection
- Responsive design for all device sizes

## License

ISC © Colin Knapp # Build trigger Wed Oct 15 20:36:46 EDT 2025
# Build trigger Wed Oct 15 20:36:46 EDT 2025
