Newsletter
Join the Community
Subscribe to our newsletter for the latest news and updates
A Hugo theme for developers and creatives to showcase multiple distinct portfolio sections on a single static website.

A GatsbyJS starter that ports Christine Cha's Gridfolio portfolio theme with SCSS, ESLint, and Prettier.
MyPortfolio is an open-source Hugo theme for developers and creatives who need to showcase multiple distinct portfolios on a single site. It extends the classic single-portfolio Hugo "Creative" theme so you can define several portfolio sections — for example "Professional" and "Personal" — each with its own categories and project listings.
MyPortfolio is a Hugo theme adapted from the Hugo Creative theme by digitalcraftsman, which itself is based on the original Bootstrap theme by David Miller. It turns Hugo content and data files into a static website with a vertical single-page homepage that contains HOME, ABOUT, SERVICES, SKILLS, PROJECTS, and CONTACT sections. The user defines homepage sections and their order in config.toml, and supplies YAML or JSON data files for each section. The theme is maintained by 2-REC on GitHub and released under the Apache License 2.0.
Install the theme by cloning its GitHub repository into the themes directory of a Hugo site, copy exampleSite/config.toml to the site root, and create the required data files (about.yaml, contact.yaml, home.yaml, services.yaml, skills.yaml) in the site's data directory. Then run hugo server to preview the site locally. Note that the theme's exampleSite currently does not render correctly because the theme expects homepage sections and data to be defined in configuration and data files rather than content files; the maintainer points to their own portfolio as a working example.
Yes, the theme is open source and released under the Apache License 2.0, so you can use and modify it freely for personal or commercial projects.
Clone https://github.com/2-REC/hugo-myportfolio-theme into your site's themes directory, copy the example config.toml to your site root, and create the required YAML data files. Then run hugo server to see the site at localhost:1313.
Yes, that is a core feature. Add multiple entries in the [params.projects] categories list, each corresponding to a content directory, and add matching navigation links in [params.navigation.links].
Yes, it includes a modified hugo-easy-gallery shortcode supporting PhotoSwipe. You can add galleries to posts with the gallery and figure shortcodes, and set options like thumbnail suffix, hover effect, and per-image copyright.
Yes, you can create arbitrary custom sections by placing an HTML partial in the site's layouts/partials/sections directory, adding an entry to the homepage sections list and navigation links in config.toml, and optionally creating a data file and custom CSS.
