How to create a list of all posts using Hugo

Hugo uses the list template for every page named _index.md.

Therefore, everything you have to do in order to get a page at URL /blog listing all posts (no matter which category they belong to), is to create content/posts/_index.md with the following content:

---
title: "My blog"
url: /blog
---

Using url is optional here and only needed if you want to use a custom permalink for this page instead of posts/index.html.