Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

ShowFolio theme for Hugo

Latest Release ShowFolio hugo theme Hugo generator

ShowFolio is a modern portfolio theme for your Hugo site.



  • Responsive content
  • Codepen Embeds
  • Blog
  • Social links
  • Dark mode


Get the theme

Minimum Hugo Version: 0.69.0

Run from the root of your Hugo site:

git clone themes/showfolio

Alternatively, you can include this repository as a git submodule. This makes it easier to update this theme if you have your Hugo site in git as well:

git submodule add themes/showfolio

Setting up the theme

  • Install postcss-cli globally using npm install -g postcss-cli
  • Copy package.json to the root folder of your website and run npm install
  • Finally run hugo serve

Preview the theme

ShowFolio theme ships with an fully configured example site. For a quick preview:

cd themes/showfolio/exampleSite/
hugo serve --themesDir ../..

Then visit http://localhost:1313/ in your browser to view the example site.

Configuring theme to a hugo website

  1. Copy package.json and package-lock.json to the root folder of your the website
  2. Run npm install to install required packages for theme
  3. Run npm i -g postcss-cli to use PostCSS with Hugo build
  4. Set theme = 'showfolio' in config.toml
  5. Run npm start to start your local server

Make sure to commit the above changes to your repository.

When deploying to services like Netlify or Vercel, use the following command for building your site:

npm i && hugo -D --gc

Add content

The following explains how to add content to your Hugo site. You can find sample content in the exampleSite/ folder.


├── ...
├── blog       # Blog Section
│   ├── post1   # Post 1
│   ├── post2   # Post 2
│   └── _index     
└── ...

Configure your site

From exampleSite/, copy config.toml to the root folder of your Hugo site and change the fields as you like. Helpful comments are provided.


Menu in ShowFolio theme is pre-set to have blog and about pages.

Google Analytics

Set googleAnalytics in config.toml to activate Hugo's internal Google Analytics template.


If you have a question, please open an issue for help and to help those who come after you. The more information you can provide, the better!


Contributions are welcome. For major changes, please open an issue first to discuss what you would like to change.


Licensed under MIT