Skip to main content
The main site configuration is defined in config/_default/config.toml. This file controls Hugo’s core behavior and site-wide settings.

Base configuration

These settings define the fundamental properties of your Hugo site.
baseURL
string
required
The base URL for your site. All relative URLs will be built from this.
baseURL = "https://benson.vc/"
theme
string
required
The Hugo theme to use. This site uses the Congo theme.
theme = "congo"
defaultContentLanguage
string
default:"en"
The default language for content. This determines which language configuration to use when no language is specified.
defaultContentLanguage = "en"

SEO and indexing

enableRobotsTXT
boolean
default:"false"
Enable automatic generation of a robots.txt file for search engine crawlers.
enableRobotsTXT = true
summaryLength
integer
default:"70"
The number of words to use when generating automatic summaries. Set to 0 to disable automatic summaries and use manual summaries only.
summaryLength = 0

Pagination

Control how content lists are paginated across your site.
pagination.pagerSize
integer
default:"10"
The number of items to display per page in paginated lists.
[pagination]
  pagerSize = 10

Analytics

googleAnalytics
string
Your Google Analytics measurement ID. When set, Google Analytics tracking will be automatically included in your site.
googleAnalytics = "G-RS2TMEY2KX"
The Congo theme also supports other analytics providers like Fathom Analytics and Plausible Analytics through the params.toml configuration.

Output formats

Define which output formats Hugo should generate for different page types.
outputs.home
array
default:"[\"HTML\"]"
The output formats to generate for the home page. Common formats include HTML, RSS, and JSON.
[outputs]
  home = ["HTML", "RSS", "JSON"]

Complete example

Here’s the complete config.toml file for benson.vc:
config/_default/config.toml
# -- Site Configuration --
# Refer to the theme docs for more details about each of these parameters.
# https://jpanther.github.io/congo/docs/getting-started/

baseURL = "https://benson.vc/"
defaultContentLanguage = "en"

enableRobotsTXT = true
summaryLength = 0

[pagination]
  pagerSize = 10
theme = "congo"

googleAnalytics = "G-RS2TMEY2KX"

[outputs]
  home = ["HTML", "RSS", "JSON"]
Changes to config.toml require restarting the Hugo development server to take effect.

Markup configuration

The markup.toml file configures how Hugo processes markdown content and generates HTML.

Goldmark renderer

config/_default/markup.toml
[goldmark.renderer]
  unsafe = true
Setting unsafe = true allows raw HTML in markdown files, which is necessary for embedding custom HTML elements.

Syntax highlighting

[highlight]
  noClasses = false
Using noClasses = false generates CSS classes for syntax highlighting instead of inline styles, allowing for theme-based code highlighting.

Table of contents

[tableOfContents]
  startLevel = 2
  endLevel = 4
Configures the table of contents to include heading levels 2-4 (##, ###, ####), excluding the main title (#).
The unsafe = true setting allows any HTML in markdown. Only enable this if you trust all content authors.

Build docs developers (and LLMs) love