A simpler, faster site: moving to pure Eleventy v3

I upgraded the site to Eleventy v3, removed Gulp and the Visual Framework, and simplified everything.
Craving a lighter, nimbler site, I finally parted a long goodbye with Gulp and the Visual Framework for a streamlined Eleventy stack making the codebase is easier to tinker with and build fun things.
tl;dr#
- Slimmer, more experimental setup on Eleventy v3.
- Dropped Gulp and upstream Visual Framework.
- Images and the search index now build via Eleventy-integrated scripts.
- CI/build is streamlined; local
yarn dev
stays snappy.
Why change#
Let’s be honest: I’m not in the thick of the Visual Framework anymore. Back when I was at EMBL/EMBL‑EBI, I brought it in here as a bit of “dogfooding” — but for a personal site, that kind of heavyweight integration is overkill unless you're building for EMBL.
Now, I’m aiming for something leaner and more playful: I’ve kept the templates and local styles I actually use, trimmed away the rest, and rebuilt the workflow around Eleventy v3 for a much simpler, more modern stack. If you’re curious about what the Visual Framework offers these days, it’s still a fantastic toolkit for federated life science sites.
With Eleventy v4 around the corner — and having followed Eleventy since its 2018 debut (Introducing Eleventy; early supporters) — this felt like the right moment to simplify and get current on v3.
What changed#
By the numbers: +3,069 additions, −10,252 deletions (net −7,183 lines, excluding yarn.lock
) across 190 files—and 127 fewer files (140 deleted, 14 added) PR #12.
-
Build and tooling
- Switched to Eleventy v3.
- Dropped Gulp and Fractal.
- Dropped much custom NJK templates.
- Removed legacy
{% render %}
/codeblock
usage and their shims; converted posts to plain HTML or fenced code. - Condensed and audited local SCSS and components.
-
Eleventy-integrated tasks
- Images:
scripts/process-images.js
(sharp) runs on build and during dev. - Search:
scripts/build-search-index.js
regenerates the client-side index on build. - Cleaned passthroughs; removed unused VF assets.
- Images:
Related posts#
- In 2020 I first moved this site to Eleventy: Moving from Panini to Eleventy.
- In 2018 I wrote about migrating to Zurb Panini 2.0: Migrating to Zurb Panini 2.0.
What’s next#
I’m looking forward to playing with some new CSS techniques and blog visualisations, and, honestly, just posting more.
Thanks for reading.