Skip to main content
This quickstart guide will help you get the benson.vc site up and running on your local machine in just a few minutes.

Quick setup

1

Install Hugo and Go

Make sure you have Hugo (v0.87.0+) and Go (v1.21.6+) installed:
hugo version
go version
If not installed, see the installation guide.
2

Clone and initialize

Clone the repository and set up Hugo modules:
git clone https://github.com/andrewbenson/benson.git
cd benson
hugo mod get -u
3

Start the server

Launch the development server:
hugo server -D
Your site is now running at http://localhost:1313!

Understanding the output

When you run hugo server -D, you’ll see output like this:
Start building sites … 
hugo v0.120.0+extended

                   | EN  
-------------------+-----
  Pages            |  10  
  Paginator pages  |   0  
  Non-page files   |   0  
  Static files     |   0  
  Processed images |   0  
  Aliases          |   0  
  Sitemaps         |   1  
  Cleaned          |   0  

Built in 123 ms
Watching for changes in /path/to/benson/{archetypes,assets,content,layouts,static}
Watching for config changes in /path/to/benson/config/_default, /path/to/benson/go.mod
Environment: "development"
Serving pages from memory
Running in Fast Render Mode. For full rebuilds on change: hugo server --disableFastRender
Web Server is available at http://localhost:1313/ (bind address 127.0.0.1)
Press Ctrl+C to stop
This tells you:
  • How many pages were built
  • Which directories are being watched for changes
  • The local URL where your site is available

Making your first change

The Congo theme uses a modular configuration system. Let’s make a quick change to see hot reloading in action:
1

Open the site configuration

Edit config/_default/config.toml:
code config/_default/config.toml
2

Update the base URL (optional)

The configuration includes the production URL:
config/_default/config.toml
baseURL = "https://benson.vc/"
defaultContentLanguage = "en"
For local development, this works fine. Hugo automatically handles localhost.
3

Check your changes

Save the file and watch your browser automatically reload with the changes!

Creating new content

The benson.vc site includes content organized in sections. Here’s how to create a new post:
hugo new content/posts/my-new-post/index.md
This creates a new post using the archetype defined in archetypes/default.md. Edit the generated file:
content/posts/my-new-post/index.md
---
title: "My New Post"
date: 2026-03-03T00:00:00Z
draft: true
---

Your content here...
Since you’re running with -D (drafts enabled), you’ll see your new post immediately at http://localhost:1313/posts/my-new-post/.

Development workflow

Running the server

hugo server

Building for production

When you’re ready to build the site for production:
hugo
This generates the static site in the public/ directory. The build:
  • Excludes draft content
  • Excludes future-dated content
  • Minifies assets
  • Generates RSS feeds and JSON search index

Cleaning generated files

To remove generated files:
rm -rf public/ resources/

Common development tasks

View site analytics

The site includes Google Analytics (G-RS2TMEY2KX) configured in config/_default/config.toml. This only activates in production builds.

Customize the theme

The Congo theme is imported via Hugo modules. To customize:
  1. Override layouts: Create files in layouts/ matching the theme’s structure
  2. Override partials: Create files in layouts/partials/ (see existing customizations)
  3. Customize configuration: Edit files in config/_default/
Existing customizations include:
  • layouts/partials/about-me.html
  • layouts/partials/angel-investments.html
  • layouts/partials/recent-articles.html
  • layouts/index.html

Check module status

View your Hugo module dependencies:
hugo mod graph
Verify module versions:
cat go.mod

Next steps

Now that you have the site running:

Build docs developers (and LLMs) love