Skip to content

Configuration

Christian Olsen edited this page Nov 2, 2024 · 2 revisions

All configuration is done in the two configuration files under config/_default/. The URL and site title can be set in hugo.yaml. All other parameters are set in params.yaml.

hugo.yaml

The hugo.yaml file holds the main configuration for the theme. Here you can set the baseURL and the title. The baseURL is important to set correctly as the css won't be loaded correctly otherwise.

The rest of the settings in hugo.yaml are less important and can be left as default. Both the taxonomy and term kinds are disabled in order to keep the theme minimal. Enabling them won't work as expected, unless templates are added.

Web crawlers and LLM

The enableRobotsTXT setting creates a robots.txt file that are used by web crawlers. The default robots.txt file created will allow crawlers to all pages on the site. This can be changed by overwriting the default template. Add a file ./layouts/robots.txt to your own site repo to overwrite the default one. To deny access to all pages use the following:

User-agent: *
{{ range .Pages }}
  Disallow: {{ .RelPermalink }}
{{ end }}

A default disallow file for using your site for LLM training is also added to the site by default. This file can also be overwritten by added a file ./static/ai.txt to your repo. To allow all use the following:

User-agent: *
allow: *
allow: /

params.yaml

This file holds all the configuration for the homepage. The author section defines the stuff related to the round image, text and emoji at the center of the homepage layout. Only the name and image are non-optional, commenting or removing the other keys will remove the greeting text and the emoji. A new image can be used by placing a file in the assets folder.

A general 'params.yaml' file is printed here for reference.

############################
## Author
############################

author:
  name: "L1nkr"
  image: author.png
  greeting: "A simple LinkTree theme for Hugo :evergreen_tree:"
  icon: ":wave:"

############################
## Links
############################

links:
  - github: https://github.com/username
  - facebook: https://facebook.com/me

##############################
## Monochromatic color scheme
##############################

# all links will be slate-700 (or slate-50 in dark mode)
# https://tailwindcss.com/docs/customizing-colors
monochrome: true

###########################
## Icon text
###########################

# add the icon name to each icon
icontext: true

###########################
## Tooltip
###########################

# add tooltips to the links
tooltip: false

############################
## Colunms of Links
############################

# between 2 & 6 columns are supported (both incl)
columns: 6

###############################
## OpenGraph & Twitter Cards
###############################

title: "L1nkr"
description: "Demo site build with L1nkr & Hugo"
images:
  - thumbnail.png

See the links section for more info.

The last section of the params.yaml file defines some stuff for OpenGraph/Twitter cards. If you share a link to your site the thumbnail.jepg will be used along with the title and desscription.

Links

The links section of the configuration file defines which links to add under the main image on the homepage. The key name of a link must match a supported icon. The value is the link assosiated with the icon.

The following sections of the configuration define how the links are rendered.

Setting monochrome: true will set a single color for all links, while colorfull links are displayed by setting monochrome: false.

Setting icontext: true will print the name of the icon above it so it's easier to figure out what is linked to if the logo is not immediately recognized.

Setting tooltip: true will display a tooltip with the icon name when a links is hovered over. This is disabled in touchscreens as it's impossible to hover on a touch device.

Lastly, the columns setting defines how many columns the links should be displayed in. This is only relevant for large screens. The colunms will dynamically be adjusted to smaller screens.

Clone this wiki locally