I’ve decided to bid farewell to Jekyll after encountering one too many Liquid errors and dealing with the Ruby dependency headache. In its place, I’m embracing Hugo—a swift transition that eliminates any excuses hindering my posting schedule.

Here are some key highlights about Hugo:

  • Developed using Go.
  • User-friendly interface.
  • Lightning-fast performance, with local site rebuilds completing in a mere ~100 milliseconds.
  • Immediate feedback during the writing process due to its speed.

Transitioning to Hugo from Jekyll was a breeze, and most of the process went smoothly without any major hiccups. Initially, this post served as a way to conduct a smoke test and organize my thoughts on the migration.

Creating a basic Hugo site is straightforward. With Homebrew installed on my Mac, installing Hugo is as simple as:

bash
brew install hugo

Next, let’s set up a minimalist blog and draft our inaugural post:

bash
hugo new site blog-ramhiser
cd blog-ramhiser
hugo new posts/my-first-post.md
echo 'MY FIRST POST' >> content/posts/my-first-post.md

I’m particularly fond of Hugo’s cactus theme for its sleek appearance. Installing Hugo themes via git submodules is hassle-free. After adding the cactus theme, I copied the example config.toml configuration:

bash
git init
git submodule add [email protected]:digitalcraftsman/hugo-cactus-theme.git themes/hugo-cactus-theme
cp themes/hugo-cactus-theme/exampleSite/config.toml .

To preview the blog, simply run:

bash
hugo server

Now, you’ll have a stylish and minimalist site up and running.

Importing from Jekyll to Hugo is seamless and doesn’t require any third-party tools or plugins. It’s a matter of executing a command:

bash
hugo import jekyll ~/jekyll_blog/ ~/hugo_blog/

Moving on from GitHub Pages to Netlify was a decision spurred by recent issues with GitHub Pages, likely stemming from Jekyll. The process of migrating to Netlify was swift and painless, thanks to the helpful documentation:

  1. Create a new GitHub repository for the Hugo blog.
  2. Add a netlify.toml config file specifying Hugo version 0.31.1.
  3. Create a Netlify account.
  4. Set up a new Netlify site linked to the GitHub repo.
  5. Update DNS entries on Namecheap to point to Netlify’s servers.
  6. Request a Let’s Encrypt TLS certificate via Netlify (which only took a few minutes).
  7. Implement HTTP to HTTPS redirection for enhanced security.

With these steps completed, I’m ready to embark on a new blogging journey with Hugo and Netlify at my side.