---
title: "Installation"
date: 2020-08-16
draft: false
description: "How to install the Congo theme."
slug: "installation"
tags: ["installation", "docs"]
showDate: false
showAuthor: false
---

Simply follow the standard Hugo [Quick Start](https://gohugo.io/getting-started/quick-start/) procedure to get up and running quickly.

Detailed instructions can be found below.

## Install Hugo

You can find specific instructions for your platform in the official [Hugo docs](https://gohugo.io/getting-started/installing.).

Make sure you are using **Hugo version 0.86.1** or later as the theme takes advantage of some of the latest Hugo features.

## Create a new site

Run the command `hugo new site mywebsite` to create a new Hugo site in a folder named `mywebsite`.

## Download the Congo theme

There are a couple of ways to install the Congo theme into your Hugo website. The Hugo Modules method is the easiest, then the git method if you're familiar with submodules, but you can also download and install manually if you don't have `go` or `git` available.

### Install using Hugo

This method is the quickest and easiest for keeping the theme up-to-date. Hugo Modules uses Go to initialise and manage modules so you need to ensure you have Go installed before proceeding.

1. [Download](https://golang.org/dl/) and install Go. You can check if it's already installed by using the command `go version`.
2. From your Hugo project's directory, initiate the Hugo Modules system for your website:

   ```shell
   # If you're managing your project on GitHub
   hugo mod init github.com/<username>/<repo-name>

   # If you're managing your project locally
   hugo mod init my-project
   ```

3. Add the theme to your configuration by creating a new file `config/_default/module.toml` and adding the following:

   ```toml
   [[imports]]
   path = "github.com/jpanther/congo"
   ```

4. Start your server using `hugo server` and the theme will be downloaded automatically.
5. Continue to [set up the theme configuration files](#set-up-theme-configuration-files).

### Install using git

Change into the directory for your Hugo website, initialise a new repository and add Congo as a submodule.

```bash
cd mywebsite
git init
git submodule add -b stable https://github.com/jpanther/congo.git themes/congo
```

{{< alert >}}
**Note:** You need to substitute `mywebsite` for the correct folder name you used when creating your Hugo site.
{{< /alert >}}

Then continue to [set up the theme configuration files](#set-up-theme-configuration-files).

### Install manually

1. Download the latest release of the theme source code.

   {{< button href="https://github.com/jpanther/congo/releases/latest" target="_blank" >}}Download from Github{{< /button >}}

2. Extract the archive, rename the folder to `congo` and move it to the `themes/` directory inside your Hugo project's root folder.
3. Continue to [set up the theme configuration files](#set-up-theme-configuration-files).

## Set up theme configuration files

In the root folder of your website, delete the `config.toml` file that was generated by Hugo. Copy the `*.toml` config files from the theme into your `config/_default/` folder. If you installed using Hugo Modules, you should not copy the `module.toml` file! This will ensure you have all the correct theme settings and will enable you to easily customise the theme.

Depending on how you installed the theme you will find the theme config files in different places:

- **Hugo Modules:** In the Hugo cache directory, or [download a copy](https://minhaskamal.github.io/DownGit/#/home?url=https://github.com/jpanther/congo/tree/stable/config/_default) from GitHub
- **Git submodule or Manual install:** `themes/congo/config/_default`

Once you've copied the files, your config folder should look like this:

```shell
config/_default/
├─ config.toml
├─ markup.toml
├─ menus.toml
├─ module.toml  # if you installed using Hugo Modules
└─ params.toml
```

{{< alert >}}
**Important:** If you didn't use Hugo Modules to install Congo, you must add the line `theme = "congo"` to the top of your `config.toml` file.
{{< /alert >}}

You're now all set up to use Congo. From here you can add some content and start the Hugo server.

Refer to the Hugo docs for more information or read the next section to learn more about configuring the theme.
