Ranging over collection of data files

Now that I know where to look, the problem becomes more obvious. There have been many posts about this, see e.g. here.

What still puzzles me is that blog posts are usually saved as individual files in a content folder, and then the functions range can be used together with first and where to create appropriate lists. What is so different here? Why is a map produced, which cannot be processed by these two functions?

The {{ printf "%#v" .Site.Data.articles }} you suggested produces something like this:

map[string]interface {}{"one_article":map[string]interface {}{"type":article, "title":"Best article of the world", "author"="Lewis"}, "another_article":map[string]interface {}{"type":article, "title":"Second best article of the world", "author"="Lewis"}, "another_one":map[string]interface {}{"type":article, "title":"Yet another article", "author"="John"}}