Create a Static Blog in Minutes with Hugo and Vercel

Nouman RahmanNouman Rahman
3 min read

Introduction

In the world of content creation, having a personal blog is a powerful way to share your thoughts, knowledge, and experiences with the world. Traditionally, setting up a blog required significant technical expertise and maintenance. However, thanks to the combination of Hugo, a popular static site generator, and Vercel, a modern deployment platform, creating a full-fledged static blog has become incredibly fast and straightforward. In this article, we'll explore how Hugo and Vercel can help you set up a dynamic, customizable, and high-performance blog in just a few minutes.

Introducing Hugo

A Lightning-Fast Static Site Generator: Hugo is a static site generator that allows you to build websites with incredible speed. With its powerful command-line interface (CLI), Hugo simplifies the process of creating and managing a blog. Let's take a closer look at how Hugo works.

To install Hugo, open your terminal and execute the following command:

MacOS
brew install hugo
Arch Linux
sudo pacman -S hugo
Debian/Ubuntu
sudo apt install hugo
RHEL/Fedora
sudo dnf install hugo

Setting Up Hugo

To start a new Hugo blog, use the following command:

hugo new site myblog

This will create a new Hugo site named myblog in your current directory. Next, navigate into the myblog directory using:

cd myblog

Choosing and Applying a Theme

Hugo provides a variety of themes that you can choose from to customize the look and feel of your blog. To add a theme, you can use Git to clone it directly into the "themes" directory. For example, to add the "Ananke" theme, execute:

git clone https://github.com/budparr/gohugo-theme-ananke.git themes/ananke

Once the theme is cloned, update the config.toml file to use the chosen theme:

theme = "ananke"

Creating Content with Hugo

To create a new blog post, run the following command:

hugo new posts/my-first-post.md

This will generate a new Markdown file in the "content/posts" directory. Open the file with your preferred text editor and start writing your blog post using Markdown syntax.

Previewing Your Hugo Blog Locally

To preview your blog locally, use the following command:

hugo server -D

This will start a local development server, and you can access your blog by opening the provided URL in your browser. As you make changes to your blog content or configuration, Hugo will automatically regenerate the site and refresh the browser.

Deploying with Vercel

To deploy your Hugo blog with Vercel, you first need to create an account on the Vercel website. Once you've created an account, install the Vercel CLI globally by running:

npm install -g vercel

Next, navigate to your Hugo project's root directory and run:

vercel init

Follow the prompts to link your Vercel account, select your Hugo project directory, and configure your deployment settings.

Custom Domains, SSL, and Global CDN with Vercel

Vercel provides additional features to enhance your blog's performance and professionalism. You can easily connect a custom domain to your Vercel deployment using the Vercel dashboard. Vercel also automatically provisions SSL certificates for secure connections. With its global CDN (Content Delivery Network), Vercel ensures that your blog loads quickly for visitors worldwide.

Conclusion

Creating a full-fledged static blog has never been easier, thanks to the powerful combination of Hugo and Vercel. With Hugo's CLI and Vercel's extensive capabilities is very easy for beginners and I highly recommend it.

10
Subscribe to my newsletter

Read articles from Nouman Rahman directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Nouman Rahman
Nouman Rahman

13 Years Old • Full-Stack Developer • Software Engineer • Rustacian • YouTuber • Blogger • TypeScript, Cloud, DevOps, Rust, Networking, Web