HugoPortfolio

hugo-starting-point — Hugo Portfolio Template

By Westley-Winks

A Hugo portfolio starter template: clone it, modify the configuration, and it's ready to use. It can also pull project showcases from GitHub via a script.

Explore the design

Compare the page layouts and mobile experience. Open any screenshot for a closer look.

3 previews
Desktop homepage1 / 3
Desktop captureTop of page

Actual screenshot captured by the server browser.

All pages & views 3

Screenshots show visual appearance; interactive behavior may differ.

Recorded 2026-10-01View source

What stands out

A quick read of the recorded project description.

01

After cloning the repository, modify parameters such as baseURL, author, title, intro, description, and copyright in config.toml to use it.

02

Specify the GitHub repositories to display via repos-to-include.txt; the fetch_projects.py script fetches project information.

03

Includes a GitHub Actions workflow that automatically builds and deploys to GitHub Pages when pushing to the main branch.

04

A scheduled task runs the fetch script once a week and rebuilds the site to keep the project list updated.

05

Built on the Goa theme and references some code from an open-source Twitter project site.

Template Details

This is a Hugo starter template for building a personal portfolio website. It does not rely on an external theme installation process; the repository already contains a complete site structure, so you can clone it and run it after modifying the configuration. The template is built on the Goa theme and references some code from an open-source Twitter project site.

In terms of content, the template provides basic pages such as a homepage, an about page, and a projects page. The data for the projects page comes from the repos-to-include.txt list in the repository root, generated by the scripts/fetch_projects.py script, which calls the GitHub API to fetch information for the corresponding repositories. The repository also includes a GitHub Actions workflow: when pushing to the main branch, it automatically builds and deploys to GitHub Pages. There is also a scheduled task that runs the fetch script once a week and rebuilds the site.

Before use, you need to prepare a GitHub username and a personal access token, write them into a .env file, and replace static/img/headshot.jpg with your own photo. The README also states that the template can be used for purposes other than a portfolio, such as a blog, but the repository does not provide specific configuration or examples for blogging.

HugoPortfolio

Is it right for your project?

Use Cases

  • Individual developers building a portfolio page to showcase GitHub projects.
  • Project showcase scenarios that require automatically syncing GitHub repository information to a website.
  • Static sites using Hugo that are intended to be deployed directly to GitHub Pages.

Suitable For

  • Developers familiar with basic Hugo configuration who are willing to manually modify configuration files.
  • Users who want to automatically pull a project list from GitHub via a script and update it periodically.
  • Individual users planning to host the site on GitHub Pages.

Getting started & customization

Use these recorded setup notes alongside the repository instructions for your chosen version.

  1. 1

    After cloning the repository, modify baseURL, author, title, intro, description, and copyright in config.toml, and uncomment the desired social accounts and fill in usernames.

  2. 2

    Replace static/img/headshot.jpg with your own photo.

  3. 3

    List the GitHub repositories to display in repos-to-include.txt.

  4. 4

    Create a .env file and fill in GH_USERNAME and OAUTH_TOKEN (GitHub personal access token).

  5. 5

    Run python scripts/fetch_projects.py to fetch project data, then use hugo server for local preview.

Read repository instructions

License & source material

Usage conditions & limitations

Free to use · keep license notice

This entry covers the free version under the MIT license in the public repository; the free scope is the code of this version and does not mean external services or third-party assets are free.

Must comply with when using

  • You are allowed to freely use, modify, commercialize, and distribute the code of this version.
  • When distributing copies or substantial portions of the code, retain the original author's copyright notice and the full MIT license notice.
  • The code is provided as is; warranties and limitations of liability are governed by the original license and applicable law.

Additional costs & items to verify

  • Using the automatic project page fetching feature requires your own GitHub account and a personal access token (OAUTH_TOKEN) written into a .env file; without a token, fetch_projects.py cannot run to retrieve repository data.
  • The default deployment configuration targets GitHub Pages, with GitHub Actions automatically building and deploying when pushing to the main branch; if you switch to another hosting platform, you need to adjust the workflow yourself.
  • The scheduled workflow automatically runs the fetch script once a week and rebuilds the site, continuously calling the GitHub API; pay attention to token validity and API call quotas.
  • Demo images, fonts, icons, and other third-party assets need to be checked against their respective licenses and cannot be judged solely based on the code's MIT license.
  • External services such as domains, hosting, databases, payments, or AI may incur additional charges.
View Original Text Basis

Permission is hereby granted, free of charge

Original License Text

Create file called `.env` with these keys: - GH_USERNAME=\<your GitHub username> - OAUTH_TOKEN=\<your personal access token>

Original README

It is currently setup for GitHub Pages. A GH Action builds and deploys whenever code gets pushed to the `main` branch.

Original README

Another Action is on cron and will run `fetch_projects.py` and rebuild the site once a week.

Original README
https://github.com/Westley-Winks/hugo-starting-point/blob/main/LICENSEhttps://github.com/Westley-Winks/hugo-starting-point/blob/main/README.md

Compiled by DeepSeek based on repository license and README ·2026-10-01. Results only cover the materials read; dependencies, images, fonts, and subsequent term changes are subject to their respective original texts.

Project checks & description sources

Template Information

Source platforms
GitHub
Documentation and maintenance reference score
Partly documented · 68 / 100
Technologies
Hugo
Website type
Portfolio
How this score is calculated

Our heuristic uses license records (up to 30), a demo link (12), a preview (10), stars (15), recorded maintenance (15), description completeness (8), feature records (5) and classification data (5). It is not a code, security or performance test, or a Google score. A link does not establish tested functionality.

What to verify for this project

Repository update recorded
2022-06-20
Screenshot last checked
2026-10-01

A demo link is listed. Check it with your own content and viewport sizes; its presence does not confirm that forms, authentication or payments work.

The catalog identifies Hugo as the primary stack. Check the actual dependency manifest and lockfile for versions and hosting requirements. These notes use recorded metadata, not a code audit or a deployment test.

Use a selection guide →

How this description was prepared

AI-assisted description based on catalog records and repository material. Repository authors are not automatically the reviewers of this description.

Automatically checked against source and license rules; no manual editorial review.

Inspect the recorded source material

SHA-256: 03347b01d1687051382763102887eca86dacb32adf281f8f0615bbe167b22e24

2026-10-01T00:21:35.586Z

Source file / repository
# Template for basic portfolio using Hugo

Easy starting point for a Hugo website. No setting up complicated themes and easy to change and modify. Contains scripts for automatically pulling GitHub projects but can also be used for a blog or anything else. Demo is located [here](https://westley-winks.github.io/hugo-starting-point/).

Built using [Goa theme](https://github.com/kaapiandcode/hugo-goa) and some code from [open source Twitter](https://opensource.twitter.dev/).

## Usage
1. First, clone this repo to your machine:
`git clone https://github.com/Westley-Winks/hugo-starting-point.git`

2. Then, go into `config.toml` and change parameters. Specifically, change the following:
- baseURL
- author
- title
- intro
- description
- uncomment whichever social accounts and add in the corresponding usernames
- copyright

3. Navigate to `static/img/` and replace `headshot.jpg` with a photo of yourself.

4. Change `repos-to-include.txt` to your GitHub repos that you want to display on the projects page

5. Create file called `.env` with these keys:
- GH_USERNAME=\<your GitHub username>
- OAUTH_TOKEN=\<your personal access token>

OAUTH_TOKEN is your Personal Access Token for GitHub

6. Run `fetch_projects.py`:
`python scripts/fetch_projects.py`

7. Check it out by running `hugo server`!

8. Deploy.
It is currently setup for GitHub Pages. A GH Action builds and deploys whenever code gets pushed to the `main` branch. Another Action is on cron and will run `fetch_projects.py` and rebuild the site once a week.
Report a correction

Explore similar templates

Compare previews and descriptions within the same stack and category.

hugo-PaperMod

hugo-PaperMod

A fast, clean, responsive Hugo theme for blogs and lightweight portfolios, with three layout modes (Regular, Home-Info, Profile), automatic and manual light/dark themes, Fuse.js client-side search, multilingual support, and built-in Open Graph, Twitter Cards, and Schema.org data.

Hugo · Portfolio

Congo

Congo

Congo is a minimal Hugo content theme built on Tailwind CSS 3.0, designed for blogs, portfolios, and lightweight content sites. It offers multiple homepage layouts, customizable dark mode, multilingual support including RTL, and built-in client-side search, Mermaid, Chart.js, and KaTeX.

Hugo · Blog

toha

toha

Toha is a Hugo theme for personal portfolios, featuring a minimalist, responsive design with configurable homepage sections such as about, experience timeline, and achievements gallery.

Hugo · Portfolio

hugo-profile

hugo-profile

hugo-profile is a mobile-first Hugo theme for personal portfolios and blogs, with multilingual support, light/dark themes, categories and tags, Google Analytics, Disqus comments, and Formspree contact forms.

Hugo · Portfolio

hugo-theme-introduction

hugo-theme-introduction

Introduction is a minimal Hugo theme that can be configured as a single-page site or a full site with multiple sections. Homepage sections are generated from Markdown files under content/home/, with weight sorting and optional images.

Hugo · Portfolio

hugo-theme-console

hugo-theme-console

A minimalist, responsive Hugo theme inspired by the system terminal and built on Terminal CSS. It includes blog posts, photo galleries, and custom pages, with light/dark theming and style overrides via CSS variables.

Hugo · Portfolio