Hugo Static Site Generator Image: Hugo’s fast and flexible static site generator

When I set out to create this blog, I wanted something clean, fast, and developer-friendly — no bloated CMS, no heavy backend. After exploring a few options, I settled on:

  • 🏗 Hugo for static site generation
  • ☁️ Cloudflare Pages for hosting
  • 🧠 Neovim for writing posts in Markdown
  • 🐙 GitHub for version control and deployments

Here’s why I picked this combo — and how you can set it up too.


🧱 Why Hugo?

I chose Hugo because it’s a perfect balance of simplicity and performance:

  • Super fast builds (even with lots of posts)
  • 🧩 Tons of themes, easily customizable
  • ✍️ Markdown-based content, no weird editors or databases
  • 💡 Great for version control — your entire site is just files in a repo

☁️ Why Cloudflare Pages?

Cloudflare Pages made deployment ridiculously easy. I was up and running in minutes.

  • 🔗 Direct GitHub integration
  • 🚀 Automatic deployment on push
  • 🔒 Free HTTPS and global CDN
  • 📊 Built-in analytics + performance

It’s free, fast, and just works.


💻 My Actual Workflow

  • I write blog posts using Neovim in Markdown (with a nice TUI + plugins).
  • I push changes to GitHub.
  • Cloudflare Pages auto-deploys the site.
  • I can preview locally using hugo server.

Here’s what it looks like:

Neovim Markdown Preview Image: Neovim in action with Markdown and Hugo preview


🛠️ How to Set Up a Blog Like Mine

Here’s a quick-start guide if you want to build your own Hugo blog, just like this:

1. Install Hugo

brew install hugo  # macOS
# or for Linux
sudo apt install hugo

Or download it from the official site.


2. Create Your Site

hugo new site myblog
cd myblog
git init

Pick a theme from themes.gohugo.io and follow its setup instructions.


3. Add Your First Post

hugo new posts/my-first-post.md

Edit it using Neovim or your favorite editor. I use a TUI like telescope.nvim, markdown-preview.nvim, and Git integration.


4. Version Control with GitHub

git remote add origin https://github.com/YOUR_USERNAME/YOUR_REPO.git
git add .
git commit -m "Initial commit"
git push -u origin main

5. Deploy with Cloudflare Pages

  • Go to pages.cloudflare.com
  • Click “Create a Project”
  • Connect to your GitHub repo
  • Use these settings:
Framework: Hugo
Build command: hugo
Publish directory: public

That’s it. Cloudflare will handle builds and deploys every time you push.


Final Thoughts

If you want a blazing-fast blog, full control with Markdown, and zero hosting headaches — this stack is 🔥.

Let me know if you want me to break down any step further or dive into my Neovim setup (I’ve tuned it pretty well for blogging!).


Cheers,
Najib


---

Let me know if you want me to:
- Generate a custom banner image with your name/logo on it
- Show how to make the featured image show up in social previews (Open Graph / Twitter cards)
- Turn your Neovim setup into a full “My Dev Writing Setup” post (which people love)

Want to do that next?