Skip to main content

Prerequisites

Before you begin, ensure you have the following installed on your system:
  • Go (version 1.21.6 or higher) - Required for Hugo modules
  • Git - For cloning the repository and version control

Installing Hugo

The benson.vc site uses Hugo with the Congo theme via Go modules. You need Hugo version 0.87.0 or higher (standard version, not extended).
brew install hugo
Verify your installation:
hugo version
You should see output indicating Hugo v0.87.0 or higher.

Setting up the project

1

Clone the repository

Clone the benson.vc repository to your local machine:
git clone https://github.com/andrewbenson/benson.git
cd benson
2

Initialize Hugo modules

The project uses Hugo modules to manage the Congo theme (v2.11.0). Initialize the modules:
hugo mod init github.com/andrewbenson/benson
hugo mod get -u
This will download the Congo theme and its dependencies as specified in go.mod.
3

Verify the setup

Check that all modules are properly installed:
hugo mod graph
You should see the Congo theme module listed:
github.com/andrewbenson/benson github.com/jpanther/congo/[email protected]
4

Start the development server

Run the Hugo development server:
hugo server -D
The -D flag includes draft content. Your site should now be available at http://localhost:1313.

Updating dependencies

To update the Congo theme or other Hugo modules:
# Update all modules to their latest versions
hugo mod get -u

# Update a specific module
hugo mod get -u github.com/jpanther/congo/v2

# Tidy up go.mod and go.sum
hugo mod tidy

Troubleshooting

Module not found errors

If you encounter module-related errors, try cleaning the module cache:
hugo mod clean
hugo mod get -u

Build lock issues

If you see .hugo_build.lock errors, simply delete the lock file:
rm .hugo_build.lock

Theme not loading

Ensure your config/_default/module.toml correctly imports the Congo theme:
[[imports]]
  path = "github.com/jpanther/congo/v2"

Next steps

Now that you have Hugo installed and the project set up, you can:

Build docs developers (and LLMs) love