Project Structure

· 2 min read
courses

Folder Structure

There are 4 main folders for Hugo-based sites:

  • content/ for your Markdown-formatted content files (homepage, etc.)
    • _index.md the homepage (Hugo requires that the homepage and archive pages have an underscore prefix)
  • assets/
    • media/ for your media files (images, videos)
      • icons/custom/ upload any custom SVG icons you want to use
  • config/_default/ for your site configuration files
    • hugo.yaml to configure Hugo (site title, URL, Hugo options, setup per-folder page features)
    • module.yaml to install or uninstall Hugo themes and plugins
    • params.yaml to configure Hugo Blox options (SEO, analytics, site features)
    • menus.yaml to configure your menu links (if the menu is enabled in params.yaml)
    • languages.yaml to configure your site’s language or to set language-specific options in a multilingual site
  • static/uploads/ for any files you want visitors to download, such as a PDF
  • go.mod sets the version of Hugo themes/plugins which your site uses

Hugo File Naming Convention

Hugo gives us two options to name standard page files: as TITLE/index.md or TITLE.md where TITLE is your page name.

The page name should be lowercase and using hyphens (-) instead of spaces.

Both approaches result in the same output, so you can choose your preferred approach to naming and organizing files. A benefit to the folder-based approach is that all your page’s files (such as images) are self-contained within the page’s folder, so it’s more portable if you wish to share the original Markdown page with someone.

The homepage is a special case as Hugo requires the homepage and listing pages to be named _index.md.

Docs Navigation

The docs navigation is automatically generated based on the content in the docs/ folder and is sorted alphabetically.

The order of pages can be changed by adding the weight parameter in the front matter of your Markdown files.

In the example below, the example.md page will appear before the test.md page as it has a lower weight:

Page example.md:

---
title: My Example
weight: 1
---

Page test.md:

---
title: My Test
weight: 2
---
Nicolas Fougere
Authors
Senior Portfolio Manager

Nicolas Fougere is a technology leader with experience helping global industrial organizations accelerate innovation through digital engineering and transformation. As a Senior Portfolio Manager at Dassault Systèmes, he works with manufacturers and technology leaders to develop strategies around virtual twins, simulation, systems engineering, and AI.

Before joining the private sector, Nicolas contributed to scientific research supporting NASA and the European Space Agency’s Rosetta mission and authored numerous peer-reviewed publications. He holds advanced engineering and scientific degrees from the University of Michigan.

Nicolas is passionate about connecting technology, business strategy, and customer success to help organizations solve complex challenges, build high-performing teams, and create lasting business value.