There’s a certain irony in using a complex frontend framework to render a blog. A blog is, fundamentally, text. Text that doesn’t change until the author updates it.

Static site generators solve this elegantly: generate the HTML once, serve it forever.

What You Get

  • Speed: Pre-rendered HTML loads instantly. No JavaScript to hydrate, no API calls on page load.
  • Simplicity: The entire site is just files. You understand exactly what’s there.
  • Reliability: No database to go down. No runtime to crash. Files are durable.
  • Free hosting: GitHub Pages, Cloudflare Pages, Netlify — they’ll host static files for free indefinitely.

The Trade-offs

Static sites aren’t for everything. If you need user auth, real-time data, or personalized content, you’ll want something dynamic.

But for a blog? A portfolio? A documentation site? Static is almost always the right call.

Where Jekyll Fits

Jekyll is old by JavaScript framework standards — it’s been around since 2008. That’s not a weakness. It means it’s stable, well-documented, and has solved every edge case you’ll encounter.

Sometimes the boring tool is the right tool.

# Install
gem install jekyll bundler

# New site
jekyll new my-blog

# Serve locally
bundle exec jekyll serve

Done. Your blog is running.