Understanding "public" folder architecture

I’m noticing when I run the hugo command, html & xml files are generated. However, the content is stored in the index.xml file – and I assumed pulled from the XML via javascript when rendered using “hugo server”


generates pages & various index.xml files.

hugo server

pulls the content for the given page out of index.xml.

Am I understanding correctly? I assumed everything would be written to the actual .html files - but the html-files look pretty sparse. I’ve been testing with the following 2 themes:

  • Ananke
  • Clean White Theme

Is this actually a theme setting? Is there a way to force the content into the HTML files instead?

Welcome to Hugo!

After you have run:


The public folder contains your site, all the html, css, js etc. This is what you upload to your web server and what your visitors will see.

The hugo server command is only used for development, a convenient way to directly see the result of any changes you make.

The XML files are RSS feeds, many themes implement this but you can easily turn them off if you want.

If you still have questions you should post a link to your repo so we can see and test your code.

There might be some configuration that messes up your site and it is hard to guess what it can be.

1 Like