Skip to content

Repository files navigation

Portfolio

My personal site. One page, plain HTML and CSS with a small bit of JavaScript for the nav highlighting. No backend, no build step, no dependencies. Served by nginx.

It shares the design system with my Simple Tools site, so the two read as one brand.

Running locally

Any static file server will do. From the repo root:

python -m http.server 8000

Then open http://localhost:8000.

Paths are root-absolute (/styles.css, /assets/...), so serve from the repo root rather than opening index.html off disk.

To test with the real nginx config and its security headers:

docker build -t portfolio .
docker run --rm -p 8081:80 portfolio

Deploying

Runs through docker compose with a Cloudflare tunnel in front. Put the tunnel token in a .env file next to the compose file:

TUNNEL_TOKEN=your-token-here

Then:

docker compose up -d --build

Map a hostname to the tunnel in the Cloudflare Zero Trust dashboard.

Still to fill in

Placeholder text is written in CAPS inside square brackets, so search the project for [ to find everything that still needs replacing:

  • The meta description in the head, used by search engines
  • The hero paragraph
  • Two project cards (the Simple Tools one is done)
  • Skill tags marked [LANGUAGE], [FRAMEWORK], [TOOL], [PLATFORM]
  • All three experience entries
  • The contact heading, blurb, and the email address in the mailto: link

Project layout

index.html         the whole page
styles.css         design system and page styles
assets/nav.js      highlights the nav pill for the section in view
assets/images/     logo files
nginx.conf         server config, including the CSP

Notes

The CSP blocks inline scripts and styles, so keep CSS and JS in their own files.

Each accent colour is a set of CSS variables. The site uses cyan, and adding class="theme-green" (or red, pink, orange, blue, purple, lime) to any element re-themes that part of the page.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages