Getting Started

Getting Started

Quick Start from Template

 imfing/hextra-starter-template

You will be able to quickly get started by using the above template repository.

We have provided a GitHub Actions workflow which can help automatically build and deploy your site to GitHub Pages, and host it for free.

🌐 Demo ↗

Start as New Project

There are two main ways to add the Hextra theme to your Hugo project.

  1. Hugo Modules (Recommended): The simplest and recommended method. Hugo modules let you pull in the theme directly from its online source. Theme is downloaded automatically and managed by Hugo.

  2. Git Submodule: Alternatively, add Hextra as a Git Submodule. The theme will be downloaded by Git and stored in your project’s themes folder.

Setup Hextra as Hugo module

Prerequisites

Before starting, you need to have the following softwares installed:

Steps

Initialize a new Hugo site

$ hugo new site my-site --format=yaml

Configure Hextra theme via module

# initialize hugo module
$ cd my-site
$ hugo mod init github.com/username/my-site

# add Hextra theme
$ hugo mod get github.com/imfing/hextra

Configure hugo.yaml to use Hextra theme by adding the following:

module:
  imports:
    - path: github.com/imfing/hextra

Create your first content pages

Let’s create new content page for the home page and the documentation page:

$ hugo new content/_index.md
$ hugo new content/docs/_index.md

Preview the site locally

$ hugo server --buildDrafts --disableFastRender

Voila! You can see your new site at http://localhost:1313/.

How to update theme?

To update all Hugo modules in your project to their latest versions, run the following command:

$ hugo mod get -u

To update only Hextra to the latest released version, run the following command:

hugo mod get -u github.com/imfing/hextra

See Hugo Modules for more details.

Setup Hextra as Git submodule

Prerequisites

Before starting, you need to have the following softwares installed:

Steps

Initialize a new Hugo site

$ hugo new site my-site --format=yaml

Add Hextra theme as a Git submodule

git submodule add https://github.com/imfing/hextra.git themes/hextra

Configure hugo.yaml to use Hextra theme by adding the following:

theme: hextra

Create your first content pages

Let’s create new content page for the home page and the documentation page:

$ hugo new content/_index.md
$ hugo new content/docs/_index.md

Preview the site locally

$ hugo server --buildDrafts --disableFastRender

Voila! You can see your new site at http://localhost:1313/.

When using CI/CD for Hugo website deployment, it’s essential to ensure that the following command is executed before running the hugo command.

git submodule update --init

Failure to run this command will result in the theme folder not being populated with Hextra theme files, leading to a build failure.

How to update theme?

To update all submodules in your repository to their latest commits, run the following command:

$ git submodule update --remote

To update only Hextra to the latest commit, run the following command:

git submodule update --remote themes/hextra

See Git submodules for more details.

Next

Explore the following sections to start adding more contents:

Last updated on