Skip to content

config.toml

J-Ray C edited this page Jan 25, 2023 · 2 revisions

The config.toml is the main source of theme customization for all Hugo themes. For Hugo Future Imperfect Slim, this file is split into five (5) distinct areas.

Hugo Parameters

These are parameters that are native to Hugo. For an extensive list, please reference the Hugo Documentation on Configuration Settings.

The config.toml for Hugo Future Imperfect Slim defines the following parameters:

baseurl                 = "example.com"
DefaultContentLanguage  = "en"
title                   = "Hugo Future Imperfect Slim"
theme                   = "hugo-future-imperfect-slim"
paginate                = 3
disqusShortname         = ""
googleAnalytics         = ""
pluralizeListTitles     = false
disableLanguages        = []

[markup.goldmark.renderer]
  unsafe                = true

[outputs]
  home                  = ["html", "json"]
baseurl
Defines the path to the root directory on your server.
DefaultContentLanguage
Defines the default language for the site. Any undefined languages will take this ISO 639-1 language code.
title
Defines the site meta title.
theme
Defines the site theme. The default location is /themes/THEMENAME/.
paginate
Defines the number of items to display per list page.
disqusShortname
Defines your Disqus shortname for comments hosted by Disqus.
googleAnalytics
Defines your Google Analytics tracking ID.
pluralizeListTitles
Sets titles on list pages to be plural. Example: Post -> Posts
disableLanguages
Defines languages to disable when building the site.
[markup.goldmark.renderer]unsafe
A parameter that allows for inline HTML.
[outputs]home
A parameter that allows for search functionality.

Hugo Parameters beyond these can still be implemented as you see fit. Simply add them below disableLangages like so:

disableLanguages        = []
enableEmoji             = true

Theme Parameters

These are parameters that are native to the Hugo Future Imperfect Slim theme. These parameters are divided based on the location they effect on the theme.

[params]

[params]
  enableCDN             = false
  cssFiles              = ["default"]
  jsFiles               = ["default"]
  highlightjs           = true
  highlightjsTheme      = "default"
  highlightjsLang       = []
  viewMorePostsLink     = "/blog/"
  readingTime           = true
  imageStrech           = ""
  socialShare           = ["twitter", "facebook", "reddit", "linkedin", "pinterest", "email"]
enableCDN
Sets whether libraries are accessed from a CDN or locally. Note: If the theme selected below is not default, CDN will be used to load that theme file even if this is disabled.
cssFiles and jsFiles
Defines what CSS and JavaScript files are loaded into the theme. The variable is an array, so feel free to load multiple files, as needed. default loads all base theme files, including add-on.css and add-on.js.
highlightjs
Sets whether to utilize Highlight.js for syntax highlighting.
highlightjsTheme
Defines the Highlight.js theme. By default, the theme is "default." Note: If you wish to use theme files locally, you will need to download them and replace the default.css file.
highlightjsLang
Defines the extended languages to load for Highlight.js syntax highlighting. By default, the common languages are included.
viewMorePostsLink
Defines where "See More" buttons link to.
readingTime
Sets whether estimated reading time is added to post headers.
imageStretch
Defines a sitewide default stretch parameter for header images. Supported values are "horizontal" or "h", and "vertical" or "v".
horizontal
vertical
socialShare
Defines which social media share links appear. Options are twitter, facebook, reddit, linkedin, pinterest, and email.

[params.meta]

[params.meta]
	description         = "A theme by HTML5 UP, ported by Julio Pescador. Slimmed and enhanced by Patrick Collins. Multilingual by StatnMap. Powered by Hugo."
	author              = "HTML5UP and Hugo"
	favicon             = false
	svg                 = true
	faviconVersion      = "1"
	msColor             = "#ffffff"
	iOSColor            = "#ffffff"
description
Defines the site meta description.
author
Defines the site meta author.
favicon
Sets whether their is comprehensive favicon support beyond a root directory favicon.ico file. The theme's naming scheme is based on the favicons generated by https://realfavicongenerator.net.
svg
Sets whether there is an SVG favicon
faviconVersion
Defines the current version of the favicon.
msColor and iOSColor
Defines the background color for when the site is represented by an app tile. It is recommended to copy this directly from https://realfavicongenerator.net after generating your favicon.

[params.header]

[params.header]
	navbarTitle         = "Future Imperfect"
	dynamicTitles       = true
	searchMenu          = true
	shareMenu           = true
	languageMenu        = true
navbarTitle
Defines the title in the navbar.
dynamicTitles
Sets whether the navbarTitle adjusts to page.
searchMenu
Sets whether there is a search menu globally accessible from the navbar.
shareMenu
Sets whether there is a share menu globally accessible from the navbar.
languageMenu
Sets whether there is a language menu globally accessible from the navbar.

[params.intro]

These are optional parameters related to the sidebar of the site. They are recommended, but not required for the theme to function properly. HTML is supported within the parameters.

Intro

[params.intro]
	header                = "Hugo Future Imperfect Slim"
	paragraph             = "Another fine, responsive site template by <a href='http://html5up.net'>HTML5 UP</a>."
	rssIntro              = true
	socialIntro           = true
	hideWhenSingleColumn  = false
	alwaysOnHomepage      = false

	[params.intro.pic]
		src                 = "/img/main/logo.jpg"
		shape               = "circle"
		width               = ""
		alt                 = "Hugo Future Imperfect Slim"
header
Defines the title for the site intro.
paragraph
Defines the subtitle for the site intro.
rssIntro
Sets whether an RSS icon is displayed for the site intro.
socialIntro
Sets whether social media icons are displayed for the site intro.
hideWhenSingleColumn
Sets whether the site intro hides itself on mobile displays.
alwaysOnHomepage
Sets whether the site intro remains visible on the homepage, even when hidden on mobile displays.
src
Defines the path to the picture for the site intro.
shape
Defines the image mask to use for the site intro image. Supported masks are triangle, trapezoid, parallelogram, rhombus, pentagon, hexagon, heptagon, octagon, nonagon, decagon, bevel, rabbet, left-arrow, right-arrow, left-point, right-point, left-cheveron, right-cheveron, star, cross, message, close, circle, vertical-ellipse, and horizontal-ellipse. To see each of these masks, please visit https://bennettfeely.com/clippy/
width
Defines the width to use for the site intro image. The theme is designed for widths of 100px or less.
alt
Defines the alt text to use for the site intro image.

[params.sidebar]

[params.sidebar]
  about               = "This theme was developed for Hugo static site generator."
  postAmount          = 5
  categories          = true
  categoriesByCount   = true
about
Defines text in the "About" area of the sidebar.
postAmount
Defines the number of posts to display in the "Recent Posts" area of the sidebar.
categories
Sets whether to display the "Categories" area of the sidebar.
categoriesByCount
Sets whether to sort the categories by count.

[params.footer]

Footer

[params.footer]
  rssFooter           = true
  socialFooter        = true
rssIntro
Sets whether an RSS icon is displayed for the site footer.
socialIntro
Sets whether social media icons are displayed for the site footer.

[params.staticman]

Hugo Future Imperfect Slim comes with Staticman integration built-in. If Disque is enabled, it will take priority of Staticman. Feel free to check out both and decide which makes the most sense for your site. Please check staticman.yml for additional settings.

Staticman

[params.staticman]
  enabled             = false
  api                 = ""  # No Trailing Slash
  gitProvider         = "github"
  username            = ""
  repo                = ""
  branch              = ""

  [params.staticman.recaptcha]
    siteKey           = ""
    encryptedKey      = ""
enabled
Sets whether to use Staticman for comments.
api
Defines link to Staticman API.
gitProvider, username, repo, & branch
Defines the path to post comments to.
siteKey & encryptedKey
Defines the keys required for reCAPTCHA to work. Please see the Staticman documentation for additional information.

Menu Parameters

Menu

[menu]

	[[menu.main]]
		name              = "Home"
		identifier        = "home"
		url               = "/"
		pre               = "<i class='fa fa-home'></i>"
		weight            = 1

	[[menu.main]]
		name              = "About"
		identifier        = "about"
		url               = "/about/"
		pre               = "<i class='far fa-id-card'></i>"
		weight            = 2
name
Defines the text of the menu item.
identifier
Defines the menu item to Hugo. Used for sub-menus, which is in development.
url
Defines the link of the menu item.
pre
Defines an object (such as a FontAwesome icon) or text to prepend to the menu item.
weight
Defines the order of the menu item.

Language Parameters

This section is exclusively for multilingual sites. If you do not need this functionality, feel free to delete everything from wtihin this section.

The parameters here are exactly the same as parameters throughout the theme, and serve as a way to translate or modify the theme for other languages. Currently, the theme has native support for the following languages:

  • German
  • English
  • Spanish
  • French
  • Japanese
  • Polish
  • Portuguese
  • Traditional Chinese
  • Simplified Chinese

If your language is not supported, we encourage you to create the apporiate language menues in the config.toml, a i18n file similar to the others in the theme, and then create a pull request!

[Languages]

	[Languages.en]
		LanguageCode        = "en"
		LanguageName        = "English"
		weight              = 1

	[Languages.fr]
		LanguageCode        = "fr"
		LanguageName        = "Français"
		title               = "Hugo Future Imperfect Slim en français"
		description         = "Un thème par HTML5 UP, porté par Julio Pescador. Simplifié et amélioré par Patrick Collins. Multilingue par StatnMap. Propulsé par Hugo."
		weight              = 2

		[[Languages.fr.menu.main]]
		name              = "Accueil"
		identifier        = "home"
		url               = "/"
		pre               = "<i class='fas fa-home'></i>"
		weight            = 1

Social Parameters

These parameters create a link to your social media accounts. You should use your username unless another value is requested. There are affected by socialAppearAtTop and socialAppearAtBottom.

Social Parameters

[social]
	# Coding Communities
	github                = "pacollins/hugo-future-imperfect-slim"
	gitlab                = ""
	stackoverflow         = "" # User Number
	bitbucket             = ""