What You'll Learn at This Station
HAP's Discovery: I used to think picking a tool was about finding "the best one." Prof. Teeters taught me that's the wrong question. The right question is: "Which tool fits MY skills and MY project?" Here are the three insights that helped me choose: 🤯
Language Matters
Your Language
Jekyll uses Ruby, Hugo uses Go, Eleventy uses JavaScript. Pick one that matches YOUR skills—because when something breaks (and it will!), you'll need to understand the error messages and debug the code.
The Complexity Spectrum
Sweet Spot
Simple tools (Jekyll) are easy to start but limited. Powerful tools (Gatsby, Next.js) can do anything but require more learning. Eleventy sits in a sweet spot: flexible enough to grow with you, simple enough to start today.
Zero-Config Philosophy
Just Works
Eleventy works out of the box with sensible defaults. No webpack setup, no build configuration, no "starter template required." Just write content and run the build command. That's why I chose it!
HAP's Confession:
- I almost picked Hugo because "fastest builds!" sounded impressive. Then I tried reading the Go template documentation and had no idea what was happening. Fast builds don't help if you can't customize anything!
- I spent two whole days trying to set up Gatsby before realizing I didn't need React for a simple blog. Grace Hopper appeared and asked, "Why are you making it so complicated?" She had a point. 😳
- I thought "zero-config" meant "no configuration possible." Turns out it means "sensible defaults with optional configuration." You CAN customize everything—you just don't HAVE to customize everything to get started.
- I judged SSGs by how pretty their marketing websites looked instead of actually trying them. Prof. Teeters reminded me that a nice website doesn't mean a nice developer experience.
The Major Players
There are dozens of static site generators, but a handful dominate the landscape. Here are the ones I researched most seriously, along with what I learned about each:
Jekyll
Language: Ruby
Best for: Simple blogs, GitHub Pages
Pros: Well-documented, huge community, GitHub Pages default
Cons: Slow builds for large sites, Ruby environment setup can be tricky
HAP's take: "Great if you already know Ruby. I don't, so debugging would be a struggle."
Hugo
Language: Go
Best for: Large sites needing fast builds
Pros: Blazingly fast builds (like, milliseconds fast), single binary install
Cons: Go template syntax is confusing, steeper learning curve
HAP's take: "The speed is amazing, but I couldn't understand the templates. That's a dealbreaker."
Eleventy
Language: JavaScript
Best for: Flexible projects, JavaScript developers
Pros: Zero-config start, supports 11+ template languages, fast builds
Cons: Smaller community than Jekyll, documentation can be scattered
HAP's take: "I know JavaScript! The templates made sense immediately. This is the one."
Gatsby / Next.js
Language: JavaScript (React)
Best for: Complex web applications, React developers
Pros: Powerful data layer, component-based, huge ecosystem
Cons: Complex setup, requires React knowledge, slower builds
HAP's take: "Way more power than I need for a blog. Maybe someday for a bigger project!"
Astro
Language: JavaScript
Best for: Content-heavy sites, "islands" architecture
Pros: Ships zero JS by default, supports multiple frameworks
Cons: Newer, smaller ecosystem than Eleventy
HAP's take: "Really interesting! But I wanted to start with something more established first."
The Decision Framework
Prof. Teeters gave me a simple framework for making the decision. Instead of comparing every feature, she had me ask five questions:
1. What language do I want to use?
HAP's answer: "JavaScript!"
Result: Eliminates Jekyll (Ruby), Hugo (Go)
2. How complex is my project?
HAP's answer: "A blog with some custom styling."
Result: Don't need Gatsby/Next.js power
3. Do I need React components?
HAP's answer: "Nope. I love plain HTML and CSS so that works fine for me."
Result: Gatsby/Next.js are overkill
4. How important is build speed?
HAP's answer: "My blog will have, like, a handful of posts. Build speed doesn't matter."
Result: Hugo's speed advantage isn't relevant
5. Do I want zero configuration to start?
HAP's answer: "YES. I want to see something working before I customize."
Result: Eleventy wins!
🟠 Prof. Teeters' Wisdom:
"Don't choose a tool just because it's trendy or because someone online says it's the best. Choose the one that fits your skills and your project right now. And with Eleventy, all your main content lives in easy-to-move Markdown files, so you can switch to another system later without losing all of your hard work."
Why I Chose Eleventy
After all that research, Eleventy was the clear winner for me. Here's exactly why:
- I'm learning JavaScript — Prof. Teeters says every web developer needs it, so I'm practicing bit by bit. The great part is that Eleventy doesn't force me to be an expert right away. I can build real sites using Markdown and templates while slowly understanding more of the JavaScript behind the scenes. As I learn, I can customize more and more.
-
Zero-config actually works — For fun, I ran
npx @11ty/eleventyon a folder with one Markdown index.md file and got a working HTML page. No setup required! - Template flexibility — Eleventy supports Nunjucks, Liquid, Markdown, JavaScript, and more. I started with Markdown, because I know it already, and I'll be learning Nunjucks (more on that later!).
- The community is helpful — When I got stuck, I found answers on the Eleventy Discord and GitHub discussions. People were patient with my beginner questions.
- It grows with me — I started simple, but I've already added custom shortcodes and filters. Eleventy can handle way more complexity when I'm ready for it.
🟠 HAP's Conclusion:
Now that I'm becoming an accomplished web developer who can make great web pages, Eleventy gives me an easy path to build full multi-page sites. I can use its tools with the HTML and CSS skills I already have, and that's enough to create something impressive right away. As I grow, I can add more features whenever I'm ready. I call that a big win for new developers like me!
🎓 SSG Comparison Quick Reference
Jekyll (Ruby)
Learning curve: Easy | Best for: GitHub Pages, simple blogs
Hugo (Go)
Learning curve: Steep | Best for: Large sites, fast builds
Eleventy (JavaScript)
Learning curve: Moderate | Best for: Flexible projects, JS developers
Gatsby / Next.js (React)
Learning curve: Steep | Best for: Complex apps, React developers
Astro (JavaScript)
Learning curve: Moderate | Best for: Content-heavy sites, islands architecture