96 lines
1.8 KiB
Markdown
96 lines
1.8 KiB
Markdown
# 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 |