Building this site
Why a penetration tester's portfolio is laid out like a filesystem, and the handful of decisions behind it.
- Date
- Reading time
- 1 min
- Tags
- metatooling
This is the example post. It’s here so the blog isn’t empty on day one and so you can see the layout. Delete it whenever.
I wanted a portfolio that felt like the tools I actually use, without turning into a gimmick. A terminal emulator in the browser is a gimmick — it looks the part for about four seconds and then gets in the way of reading. A filesystem, though, is just a good way to organise things, which is why we’ve used it for fifty years.
So the site is a home directory. Each section is a folder. The breadcrumb is a path. That’s the whole metaphor, and it stops there — no blinking cursor, no green on black.
The rules I set myself
A few constraints, written down so I’d keep to them:
- Monospace only where it means something: paths, dates, code, metadata. Prose stays in a serif.
- One accent colour, used sparingly.
- No shadow on anything until you hover a card, and then only a faint one.
Writing posts
Posts are Markdown files in src/content/blog/. Adding one is a matter of dropping a file in and filling out the front matter — no database, no admin panel.
cp src/content/blog/building-this-site.md src/content/blog/my-new-post.md
$EDITOR src/content/blog/my-new-post.md
That’s the appeal of the whole stack, really: the content is just files, versioned in git, built to static HTML. It’ll still open in ten years.