Hallo is a single-page Hugo theme for personal introductions.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
layouts Add configuration options for colors Jan 13, 2019
static/images Initial commit Oct 28, 2018
.gitattributes Initial commit Oct 28, 2018
LICENSE Initial commit Oct 28, 2018
theme.toml Initial commit Oct 28, 2018



Build Status

Hallo is a single-page Hugo theme for personal introductions. Add a portrait, an introduction, several links, and you're set.

Hallo screenshot


1. Install the theme

If your site is also under version control using git, the easiest way to install this theme is to add it as a submodule. If you have not created a git repo for your project yet, you need to run git init beforehand. Inside the folder of your Hugo site, run the following command.

git submodule add https://github.com/EmielH/hallo-hugo.git themes/hallo

Alternatively, you can clone the theme into your project.

git clone https://github.com/EmielH/hallo-hugo.git themes/hallo

2. Configure Hugo

Add the following line to config.toml to tell Hugo to use the theme.

theme = "hallo"

Alternatively, you can tell Hugo to use the theme with the server command.

hugo server -t hallo

Hugo setup guide

Update the theme

If you have installed the theme as a git submodule, you can update the theme by issuing the following command inside your project folder.

git submodule update --remote --rebase

If you have cloned the theme, you can run git pull inside the theme folder.



Put your own portrait in /static/images/portrait.jpg of your own site and Hugo wil automatically use that portraid instead of the standard one. It's not necessary to alter the theme.


Put your own introduction text in /layouts/partials/introduction.html of your own site and Hugo wil automatically use that introduction instead of the standard one. It's not necessary to alter the theme.


Hallo will use the name of the author that has been configured in the Author section of your site's config.toml. Add the lines below to your config.toml to configure the name.

    name = "Emiel"


You can put your own links below the introduction text, for example to link to your social media accounts or to include your e-mail address. These links use icons from FontAwesome. The links can be configured in the params section of your site's config.toml. This is an example configuration for a link to Github:

        icon = "github"
        title = "Github"
        url = "https://github.com/"

Hallo by default allows you to choose an icon from the brands set. Put the name of the icon in the icon parameter. This set is the default set because these links will mostly be used for links to social media.

It is possible to use an icon from the solid set. To do this, specify the icon set, like this:

        iconset = "fas"
        icon = "envelope"
        title = "E-mail"
        url = "mailto:mail@example.org"

Internationalisation (i18n)

Hallo supports using other languages than English. Language files for the texts Hallo uses are provided in the i18n directory. The default language is English. To switch languages, add the key defaultContentLanguage to your config.toml file. For example:

defaultContentLanguage = "nl"

To translate texts your site uses, add an i18n folder to your site.

Feel free to submit pull requests for other translations of Hallo's texts.

Hugo documentation for multilingual sites


You can alter the colours of your website using configuration options. Add the following to the [params] section of your config.toml for an alternate colour scheme:

        background = "#81c6ff"
        foreground = "#edf7ff"
        hover = "#ffba82"
  • background: Used as background colour of the site.
  • foreground: Used for text and the border of the portrait.
  • hover: Used for hover of links.

Warning: When using Hugo Basic, you need to perform additional steps to make custom colors work.

If you get the following error message while building your site, you're using Hugo Basic:

error: failed to transform resource: TOCSS: failed to transform "style.hallo.scss" (text/x-scss): this feature is not available in your current Hugo version

The SCSS needs to be transpiled for your custom colours, which is something Hugo Basic cannot do. For the standard colours, the transpiled SCSS comes with the theme.

If you're stuck with Hugo Basic, e.g. because your Hugo site is generated on a server that only has Hugo Basic installed, you can get custom colours to work by performing the following steps.

  1. Install Hugo Extended on your local machine.
  2. Generate your site locally by running hugo on your local machine.
  3. Commit the generated resources folder to the root folder of your site. This folder can be found inside the public folder after running hugo.

Hugo Basic will then use this resources folder to find the transpiled SCSS.


Stock portrait photo obtained here.