==== Adding/Editing Pages ====
* content lives in /content/.
* Each .md file becomes a page. Example:
content/
about.md → /about/
artists.md → /artists/
how-it-works.md → /how-it-works/
* To add a new page, create a markdown file with front matter at the top:
---
title: "My New Page"
date: 2026-01-17
draft: false
---
Your markdown content here...
* Or use ''hugo new pagename.md''
==== Modifying the Menu ====
* Menu is in ''config.yaml'' under ''Menus.main''. Example:
Menus:
main:
- identifier: howitworks
name: How It Works # Display text
title: How Open Studios Works
url: /how-it-works # Must match content filename
weight: 1 # Order (lower = first)
* To add a menu item, add a new entry with a unique identifier and matching URL to your content file.
==== Common Commands ====
hugo server -D # Local preview (includes drafts)
hugo # Build site to /public/
==== Homepage ====
The homepage is typically special: it might pull from ''config.yaml'' params (hero section, etc.), not from a markdown file. To change homepage content, edit the ''params.hero'' section in ''config.yaml.''
==== Adding Images ====
* Put images in the ''/static/'' folder. Example:
static/
images/
my-photo.jpg → referenced as /images/my-photo.jpg
hero.svg
* Reference images in markdown: ''''
=== Controlling Placement ===
Hugo uses standard markdown, so placement options are limited without HTML.
* Basic markdown (no positioning control): ''''
* With HTML for more control (config must has ''unsafe: true'' for this to work):
Text wraps around the image here...
Figure with caption:
{{< figure src="/images/artist.jpg" caption="Local artist in their studio" >}}
* Keep images in /static/images/ for organization
* Use web-friendly formats (jpg, png, webp)
* Resize large images before adding (Hugo doesn't auto-resize)
==== Organization ====
* ''/public/'' - Don't touch. Hugo regenerates this every time you build. Any manual edits get overwritten.
* ''/content/'' - Your markdown pages. Edit these.
* ''/static/'' - Images, files, etc. that get copied as-is to public.
* ''/config.yaml'' - Site settings, menus, homepage content.
==== Workflow ====
- Edit files in /content/ or /static/
- Run hugo (or hugo server -D for live preview)
- Hugo builds everything into /public/
==== Overriding defaults ====
* override defaults in the theme by putting overriding files with the same names in ''themes//layouts/partials''
* example: ''themes/hugo-profile/layouts/partials/footer.html''
* override the favicon logo by putting the override in ''/static/fav.png''